Files
mixly3/boards/default/micropython_esp32s3/examples/MixGo Sant/学期7/4-2-1 飞机大战-发射子弹.mix

1 line
18 KiB
XML

<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="procedures_defnoreturn" id="GdB0fSgX6Jp#2LEX8i*|" x="-239" y="-396"><field name="NAME">显示我机</field><statement name="STACK"><block type="variables_global" id="hHy2H9g6(il(H*u2dL;u"><value name="VAR"><block type="variables_get" id="e~A^J543+rv{[c[I}XsH"><field name="VAR">本机X坐标</field></block></value><next><block type="variables_set" id="|_ynwh5L^2d6hz^9q9i["><field name="VAR">本机X坐标</field><value name="VALUE"><block type="math_constrain" id="r:+?(d_U@7DI4hdAYXKh"><value name="VALUE"><shadow type="math_number" id="XjjdEu@iaIy]5(374]R#"><field name="NUM">1000</field></shadow><block type="variables_get" id="fbPOzz,_O1,)$NbIam-A"><field name="VAR">本机X坐标</field></block></value><value name="LOW"><shadow type="math_number" id="mP/F(_*Ne[9$h/yb/Rah"><field name="NUM">0</field></shadow></value><value name="HIGH"><shadow type="math_number" id="4ci1m}|C^;#H|*36)p|Q"><field name="NUM">100</field></shadow><block type="math_arithmetic" id="5=W*}+SZgVWu[/~[|$c$"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="q|JGn`3w2!8f,f)=Kh{x"><field name="NUM">1</field></shadow><block type="variables_get" id="t|^]]!0Q:1rx(64AkY^v"><field name="VAR">屏幕X最大值</field></block></value><value name="B"><shadow type="math_number" id="/T8|H:}6H?EU:I*.5#`Q"><field name="NUM">1</field></shadow></value></block></value></block></value><next><block type="onboard_tft_display_shape_rect" id="`7OyC@JtvB)tikd;}sm9"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="BCM8B;Lskd=7,i#rS[g/"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="JxSpZ;bkqeHh.gXk9[fR"><field name="NUM">220</field></shadow></value><value name="w"><shadow type="math_number" id="n5WN]*rl;q=@4HF/gX}~"><field name="NUM">240</field></shadow></value><value name="h"><shadow type="math_number" id="!?Ipm7J:eZZvagZ]X|M0"><field name="NUM">20</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="Uv]k5AqJ008dc:31yK*r"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="$rf`vTHH~H$oRs1P0!x6"><field name="COLOR">#000000</field></block></value><value name="boolean"><shadow type="logic_boolean" id="PGrRZfQD;rotC,n`#.Uv"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="BnF~77vmxhL/M/!wF)@3"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="6{CQnhr2CVTjLm(Ialji"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="6{mmzU:unWJwIcar+`N("><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="pFE$9AGOI:VS:iXGybQw"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="u:x?:x-.W]s@NmW^A[2~"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="?Nl8#Tn6;#P/jMg.d2.I"><field name="NUM">1</field></shadow><block type="variables_get" id="m,pSP~aonVlINAX8iNaf"><field name="VAR">本机X坐标</field></block></value><value name="B"><shadow type="math_number" id="7OqB)`/OJL?JoeRn=th["><field name="NUM">1</field></shadow></value></block></value><value name="B"><shadow type="math_number" id="i68|7@=neP,htLD4h5i*"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="?)[7^j$:j^`+F#)B3va|"><field name="NUM">230</field></shadow></value><value name="w"><shadow type="math_number" id="2_rRx~_T2El+jI3eGt,$"><field name="NUM">30</field></shadow></value><value name="h"><shadow type="math_number" id="|_?d8Rd8Y$adG#J$@+dB"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="HUraxpuU?cFA*]+]~8p*"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="4w;Y.BBAOc(HDmx`ji53"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="@GTL#f,sYIb`x]Ax3c-v"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="cl_YUu;p-qfZJ#Ql@GCj"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="Z(w^_3Rw05R4+I9V{O[v"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="Wh_OHp$g1AuBUL)cR*i0"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="Te$;5im?H`guLlBnrp;!"><field name="NUM">1</field></shadow><block type="variables_get" id="o;r7btSN/MU;M,K$hUF*"><field name="VAR">本机X坐标</field></block></value><value name="B"><shadow type="math_number" id="YdN]`I6cnYf^9XH.#1Uq"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="Y,l~ZhAl-[UQ,EB7+?ML"><field name="NUM">220</field></shadow></value><value name="w"><shadow type="math_number" id="~3X~N-5Z#FDVs-yf~3Kg"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="Wd9=UBnZi^|*[d.Ha)at"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="0kU/iNKJ9H#D*J=LPuI3"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="Qbz3./-0,tg[_dpb,$-i"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="2S`-Jt?|Q0HT`UYIVOOG"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block><block type="variables_set" id="w(#}$!D{:`W5rq2ugy-A" x="-683" y="-306"><field name="VAR">屏幕X最大值</field><value name="VALUE"><block type="math_number" id="=]F1mC6P~=Ruv@tI5Q+g"><field name="NUM">23</field></block></value><next><block type="variables_set" id="9QAjxto/!@;;O`qill6c"><field name="VAR">屏幕Y最大值</field><value name="VALUE"><block type="math_number" id="}zg#Qc)=twBv@+$$Q!*w"><field name="NUM">23</field></block></value><next><block type="variables_set" id="ldm+.QxrJqNwdu;:,HgM"><field name="VAR">本机X坐标</field><value name="VALUE"><block type="math_number" id="[Eq_B_b(/HUL|fN+vqA|"><field name="NUM">0</field></block></value><next><block type="variables_set" id="7gM=QKSN?nc1`z9fmh!,"><field name="VAR">敌机X坐标</field><value name="VALUE"><block type="math_number" id="R3mzPE8MYSLi}!ar3?TM"><field name="NUM">0</field></block></value><next><block type="variables_set" id="UH9iDa`}1FMK97NE2Y/g"><field name="VAR">子弹X坐标</field><value name="VALUE"><block type="math_number" id="qefXCfDPc{[oo=lkz@b5"><field name="NUM">0</field></block></value><next><block type="procedures_callnoreturn" id="Kk!Q:j#5{Wa65m@cHvk$" inline="true"><mutation name="显示我机"></mutation><next><block type="controls_whileUntil" id="9Fnq;D!-(F|,lRo.j9)k"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="#g7#/Ea80jK~xd#xR(3."><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="lvz:cl$y$l`t?WmcO47@"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="}17w--jWt@cy*UPW:s++"><value name="btn"><shadow type="pins_button" id="yD2vTKfAc~O1Lxj$*`@4"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id=",BXnV/qh_m9T!,pds3W="><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="+mK|WHRBFJ?Bv#)1d3Qg"><field name="VAR">本机X坐标</field></shadow></value><value name="B"><shadow type="math_number" id="PPEw=~?K;y,}T`M7Q)hR"><field name="NUM">1</field></shadow></value><next><block type="procedures_callnoreturn" id=")lc9S#[:g,HS$-}D3.W0" inline="true"><mutation name="显示我机"></mutation></block></next></block></statement><next><block type="controls_if" id="*;KJ_A{D)}C_[Fy7q[`n"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="D?RmJwJ_g[S5+Bc2E}6^"><value name="btn"><shadow type="pins_button" id="h[L*l0)8B?eXUL:{~vJ^"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO0"><block type="math_selfcalcu" id="7oMCrtv0Bz{nTAz4OC;W"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="JAP|._*TgbI.~oPgWsk@"><field name="VAR">本机X坐标</field></shadow></value><value name="B"><shadow type="math_number" id="f1n|Z!=fi9RgW@]ImjvP"><field name="NUM">1</field></shadow></value><next><block type="procedures_callnoreturn" id="}0H]r_.qA|XhE#mWY*Sm" inline="true"><mutation name="显示我机"></mutation></block></next></block></statement><next><block type="controls_if" id="_p_j$}N;+~~zFcx~Jb5N"><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="i!Cf;bML2[B0,#A5p,N)"><value name="btn"><shadow type="pins_button" id="/Xu-aav=b`X]AK}WrCo2"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="procedures_callnoreturn" id="18$$)jS{4h{L$(4Go[#{"><mutation name="发射子弹"></mutation></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="CljjlNvi,|hpN}Rx,mcn" x="-205" y="-36"><field name="NAME">发射子弹</field><statement name="STACK"><block type="variables_global" id="l!6a$xoFuunfUyCbwF~^"><value name="VAR"><block type="variables_get" id="Y,c_pAF!GOi$+WB[rKF6"><field name="VAR">子弹X坐标</field></block></value><next><block type="variables_set" id="CMJbo24U,,iZV9*]{K.S"><field name="VAR">子弹X坐标</field><value name="VALUE"><block type="variables_get" id="f5s4T984mE!s#`Vjq0P9"><field name="VAR">本机X坐标</field></block></value><next><block type="controls_forEach" id="8Xi+99*W/h6xbBiuakS~"><value name="LIST"><shadow type="list_many_input" id="QQ:mYKM[zWtu7c8vu)F-"><field name="CONTENT">0,1,2,3</field></shadow><block type="controls_range" id="1TQAw]|!sIDyws+g7R:-"><value name="FROM"><shadow type="math_number" id="4!6NpcwA]J`k[7Hq^(.I"><field name="NUM">2</field></shadow><block type="math_arithmetic" id="9|H4|[(0hK.2xQaF$1?u"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="vD4+tzK7Oh+l9^1:1xv("><field name="NUM">1</field></shadow><block type="variables_get" id="^b*$T6nD9k_y]3d)D]o!"><field name="VAR">屏幕Y最大值</field></block></value><value name="B"><shadow type="math_number" id="6mi^-ILz0dECv[~|;C9X"><field name="NUM">2</field></shadow></value></block></value><value name="TO"><shadow type="math_number" id="vS9ohnl?*~?oRk85:T6@"><field name="NUM">-2</field></shadow></value><value name="STEP"><shadow type="math_number" id="gI.7tkkGo.Y/#gUYb9AN"><field name="NUM">-1</field></shadow></value></block></value><value name="VAR"><shadow type="variables_get" id="R$p@FHc?Df;AjLM^khj8"><field name="VAR">子弹Y坐标</field></shadow></value><statement name="DO"><block type="onboard_tft_display_shape_rect" id="M5fnNnGZqT]MBg]803pb"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="gUtz.$l5)`gk1v51IlU;"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="F@W#TEj#j9KfZA)6XFg:"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id=";M{52VfC-7EU(AUH^@,p"><field name="NUM">1</field></shadow><block type="variables_get" id="nQ;j`SjvlW3aJjhH.K9P"><field name="VAR">子弹X坐标</field></block></value><value name="B"><shadow type="math_number" id="c$,k=?NfdG$7A5VFsp.O"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="VjnlLjj1D},/11m]2=2E"><field name="NUM">230</field></shadow><block type="math_arithmetic" id="u0;);tTQ!i,X*!W$fnVN"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="p~CARE@_jJ|hzJn4V_Pv"><field name="NUM">1</field></shadow><block type="variables_get" id="N+Yp)7sB,^arQrf{ixo`"><field name="VAR">子弹y坐标</field></block></value><value name="B"><shadow type="math_number" id="7w4!xS=[6v9;$srv9r9^"><field name="NUM">10</field></shadow></value></block></value><value name="w"><shadow type="math_number" id="=ClLFI(,LD1{l6d5FM4D"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id="{`(+#RRqnl#FwQTT4Bav"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="n)p3eoVk[rduzUa/ip,_"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="M~r+nam[|GQb=XNxX49d"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="51{PAlQy1;L4#{X5{lpl"><field name="BOOL">TRUE</field></shadow></value><next><block type="onboard_tft_display_shape_rect" id="@||0=XC*6;8lE$|udWna"><field name="shape">fill_rect</field><value name="x"><shadow type="math_number" id="LXaudhUNC6(KkIu5lv2:"><field name="NUM">20</field></shadow><block type="math_arithmetic" id="CtbTfEzavE^6)aZ*BOpz"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="B[s@zY^MrvYky2[/;w}j"><field name="NUM">1</field></shadow><block type="variables_get" id="SiRKtQZNnle82auJ-2R,"><field name="VAR">子弹X坐标</field></block></value><value name="B"><shadow type="math_number" id="cT:r]!v]:Gquw[SuU52O"><field name="NUM">10</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="4WT-7(5OnNC4^GU3,ib7"><field name="NUM">230</field></shadow><block type="math_arithmetic" id="dFA!5zYVP=uxKUdr~=o|"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="Xz5S*P|{RC$Pe^FKS:ZN"><field name="NUM">1</field></shadow><block type="variables_get" id="CER-A!W7@,!a$qozSH)r"><field name="VAR">子弹y坐标</field></block></value><value name="B"><shadow type="math_number" id="_L;-*7;m?{{QI9eJ4aDE"><field name="NUM">10</field></shadow></value></block></value><value name="w"><shadow type="math_number" id="?oK0+73A9Dtm,OR;GoK;"><field name="NUM">10</field></shadow></value><value name="h"><shadow type="math_number" id=":NZqRd6ftAVpn9b=R:HV"><field name="NUM">10</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="APko*qXDwJh9M2p|2V3v"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="dXMX7Z#pteunnP.fs:TF"><field name="COLOR">#000000</field></block></value><value name="boolean"><shadow type="logic_boolean" id="X9l/|fSk9i.pvS::lm}u"><field name="BOOL">FALSE</field></shadow></value></block></next></block></statement></block></next></block></next></block></statement></block></xml><config>{}</config><code>ZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX3RmdAppbXBvcnQgbWl4Z29fc2FudAoKZGVmIOaYvuekuuaIkeacuigpOgogICAgZ2xvYmFsIOacrOaculjlnZDmoIcKICAgIOacrOaculjlnZDmoIcgPSBtaW4obWF4KOacrOaculjlnZDmoIcsIDApLCDlsY/luZVY5pyA5aSn5YC8IC0gMSkKICAgIG9uYm9hcmRfdGZ0LmZpbGxfcmVjdCgwLCAyMjAsIDI0MCwgMjAsIDB4MCxzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCgo5pys5py6WOWdkOaghyAtIDEpICogMTApLCAyMzAsIDMwLCAxMCwgMHhmZmZmLHN5bmM9RmFsc2UpCiAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOacrOaculjlnZDmoIcgKiAxMCksIDIyMCwgMTAsIDEwLCAweGZmZmYsc3luYz1UcnVlKQoKZGVmIOWPkeWwhOWtkOW8uSgpOgogICAgZ2xvYmFsIOWtkOW8uVjlnZDmoIcKICAgIOWtkOW8uVjlnZDmoIcgPSDmnKzmnLpY5Z2Q5qCHCiAgICBmb3Ig5a2Q5by5WeWdkOaghyBpbiByYW5nZSjlsY/luZVZ5pyA5aSn5YC8IC0gMiwgLTIsIC0xKToKICAgICAgICBvbmJvYXJkX3RmdC5maWxsX3JlY3QoKOWtkOW8uVjlnZDmoIcgKiAxMCksICjlrZDlvLlZ5Z2Q5qCHICogMTApLCAxMCwgMTAsIDB4ZmZmZixzeW5jPVRydWUpCiAgICAgICAgb25ib2FyZF90ZnQuZmlsbF9yZWN0KCjlrZDlvLlY5Z2Q5qCHICogMTApLCAo5a2Q5by5WeWdkOaghyAqIDEwKSwgMTAsIDEwLCAweDAsc3luYz1GYWxzZSkKCgrlsY/luZVY5pyA5aSn5YC8ID0gMjMK5bGP5bmVWeacgOWkp+WAvCA9IDIzCuacrOaculjlnZDmoIcgPSAwCuaVjOaculjlnZDmoIcgPSAwCuWtkOW8uVjlnZDmoIcgPSAwCuaYvuekuuaIkeacuigpCndoaWxlIFRydWU6CiAgICBpZiBtaXhnb19zYW50LkExa2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAg5pys5py6WOWdkOaghyAtPSAxCiAgICAgICAg5pi+56S65oiR5py6KCkKICAgIGlmIG1peGdvX3NhbnQuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDmnKzmnLpY5Z2Q5qCHICs9IDEKICAgICAgICDmmL7npLrmiJHmnLooKQogICAgaWYgbWl4Z29fc2FudC5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIOWPkeWwhOWtkOW8uSgpCg==</code>IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDEpLCAwKQogICAgICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKICAgIG9uYm9hcmRfbWF0cml4LnBpeGVsKGludChfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC0gMSksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDKSwgMSkKICAgIG9uYm9hcmRfbWF0cml4LnNob3coKQogICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKyAxKSwgaW50KF9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMpLCAxKQogICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQjFfOEZfRTVfQjlfOTVZX0U2XzlDXzgwX0U1X0E0X0E3X0U1XzgwX0JDIC0gMSksIDEpCiAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCmRlZiBfRTVfOEZfOTFfRTVfQjBfODRfRTVfQURfOTBfRTVfQkNfQjkoKToKICAgIGdsb2JhbCBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3CiAgICBfRTVfQURfOTBfRTVfQkNfQjlYX0U1XzlEXzkwX0U2X0EwXzg3ID0gX0U2XzlDX0FDX0U2XzlDX0JBWF9FNV85RF85MF9FNl9BMF84NwogICAgZm9yIF9FNV9BRF85MF9FNV9CQ19COVlfRTVfOURfOTBfRTZfQTBfODcgaW4gcmFuZ2UoX0U1X0IxXzhGX0U1X0I5Xzk1WV9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyAtIDIsIC0yLCAtMSk6CiAgICAgICAgb25ib2FyZF9tYXRyaXgucGl4ZWwoaW50KF9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcpLCBpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WV9FNV85RF85MF9FNl9BMF84NyksIDEpCiAgICAgICAgb25ib2FyZF9tYXRyaXguc2hvdygpCiAgICAgICAgdGltZS5zbGVlcF9tcyg1MCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5waXhlbChpbnQoX0U1X0FEXzkwX0U1X0JDX0I5WF9FNV85RF85MF9FNl9BMF84NyksIGludChfRTVfQURfOTBfRTVfQkNfQjlZX0U1XzlEXzkwX0U2X0EwXzg3KSwgMCkKICAgICAgICBvbmJvYXJkX21hdHJpeC5zaG93KCkKCgoKX0U1X0IxXzhGX0U1X0I5Xzk1WF9FNl85Q184MF9FNV9BNF9BN19FNV84MF9CQyA9IDExCl9FNV9CMV84Rl9FNV9COV85NVlfRTZfOUNfODBfRTVfQTRfQTdfRTVfODBfQkMgPSA3Cl9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNl85NV84Q19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9BRF85MF9FNV9CQ19COVhfRTVfOURfOTBfRTZfQTBfODcgPSAxCl9FNV9CRV85N19FNV84OF84NiA9IDAKX0U2Xzk4X0JFX0U3X0E0X0JBX0U2Xzg4XzkxX0U2XzlDX0JBKCkKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBfRTZfOUNfQUNfRTZfOUNfQkFYX0U1XzlEXzkwX0U2X0EwXzg3IC09IDEKICAgICAgICBfRTZfOThfQkVfRTdfQTRfQkFfRTZfODhfOTFfRTZfOUNfQkEoKQogICAgaWYgbWl4Z29fbWluaS5CMWtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIF9FNl85Q19BQ19FNl85Q19CQVhfRTVfOURfOTBfRTZfQTBfODcgKz0gMQogICAgICAgIF9FNl85OF9CRV9FN19BNF9CQV9FNl84OF85MV9FNl85Q19CQSgpCiAgICBpZiBtaXhnb19taW5pLkIya2V5Lndhc19wcmVzc2VkKCk6CiAgICAgICAgX0U1XzhGXzkxX0U1X0IwXzg0X0U1X0FEXzkwX0U1X0JDX0I5KCkK</code>