<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="[k}[jVtbBfRp_,m1xEFT">width</variable>
<variable id="E6`1~2.j5kn__{b3VrT_">length</variable>
<variable id="#.u:oE_F6^~QOUC@d=|t">height</variable>
<variable id="F=PFfQow3+HR58=B-)lk">nrOfAttractorAgents</variable>
<variable id="6jxq8f#z4-RPdLwiLSb;">squareBottom</variable>
<variable id="v^-:mBgKWl/0[8O@*4B.">squareTop</variable>
<variable id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</variable>
<variable id="C3G+f[(BMhatg_L,s8Nj">attractorSpeeds</variable>
<variable id="AS/6?QO)KX+lF{L(*%[s">attractorHeights</variable>
<variable id="Rmn+rPH2Ug%d;Irv*kox">agentHeight</variable>
<variable id="RF@1uO!Hj#o5Mi0S$~k/">lengthStepFactor</variable>
<variable id="p_M4;Z*}8pQ0X^-|T%xo">linePoints</variable>
<variable id="%/m`,G%lXSp/N*(IfWQk">closestAttractorIndexes</variable>
<variable id="qQ!HYT+Z,Ll@h1kz.UB!">closestAttractorDistanceWeights</variable>
<variable id="sBaq6V+P*jw-1f-6H)a.">widthIndex</variable>
<variable id="ih~1tpwM`8PjuYKSPNB[">lengthIndex</variable>
<variable id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</variable>
<variable id="U@2]CRYaGs-?CE=SsQK9">tailFramesLength</variable>
<variable id="AS5tNM^tSb``Qv.;dZVF">closestAttractorIndex</variable>
<variable id="V#d9rRJJUTRCl?no)|68">linesMesh</variable>
<variable id="{;clp1E92MRCPY;bEk}k">closestAttractorPoint</variable>
<variable id="F(D,Gf5Fa|4!MH}O:cTb">timeElapsedFromPreviousFrame</variable>
<variable id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</variable>
<variable id="-GIFo1#NEk=dp5ne6CDw">grid</variable>
<variable id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</variable>
<variable id="yhGZ99v7FP41YtQEzc(0">mesh</variable>
<variable id="woncE=#;cizgyX.b4|P+">linePointsIndex</variable>
<variable id="[JJ_#]3N]1sW~Mi!sJ6P">attractorHeight</variable>
<variable id="=kO_A0=f=F$o,(zYpQz5">currentLinePoint</variable>
<variable id="je2p()I,OS;Nvy*e`BRy">gridPolylines</variable>
<variable id="i?cpa=$WwJ!QDnYNVx#I">attractorPoint</variable>
<variable id="5#2$OOOfYk)~h=9DI_ln">activeAttractorIndexForPoint</variable>
<variable id="6BIY.H!EmKf3MKpcWzl~">polylinePoints</variable>
<variable id="]si*)%{~^jnSm!]0P?o,">activeDistanceWeightForPoint</variable>
<variable id="wyZ@=4]17Mx?Xi%6aNry">activeAgentPositionForPoint</variable>
<variable id="[MSm^gAn#pc+]Yj`dukM">pointHeight</variable>
<variable id="vxez[HG~S;n~s_,VmeBj">linesMesh4</variable>
<variable id=".c3t!|_N~OFn4h@v1N(v">linesMesh3</variable>
<variable id="HaI?Ay.oZNqjH(:sLd[a">linesMesh2</variable>
</variables>
<block type="variables_set" id="n(/UgD~m;-{GBT|;pWDK" x="1309" y="-564">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
<value name="VALUE">
<block type="math_number" id="/99|kw3AV]NkPq)kz`on">
<field name="NUM">20</field>
</block>
</value>
<next>
<block type="variables_set" id="-=ECj}^a}`vH(pktP+#U">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
<value name="VALUE">
<block type="math_number" id="W{-=D[J:UuL_@|8i4baz">
<field name="NUM">60</field>
</block>
</value>
<next>
<block type="variables_set" id="kh+H;qb1)q=f/mnflTQ!">
<field name="VAR" id="#.u:oE_F6^~QOUC@d=|t">height</field>
<value name="VALUE">
<block type="math_number" id="EC%=t0/[09(RkS,$NtH?">
<field name="NUM">10</field>
</block>
</value>
<next>
<block type="variables_set" id=";|fbL#uO#rZTy4r2P8!4">
<field name="VAR" id="F=PFfQow3+HR58=B-)lk">nrOfAttractorAgents</field>
<value name="VALUE">
<block type="math_number" id="[gg(%L7Z{#dE{s`w;c7R">
<field name="NUM">30</field>
</block>
</value>
<next>
<block type="variables_set" id="#}`UMNz}^=e%{m`k-/Aq">
<field name="VAR" id="6jxq8f#z4-RPdLwiLSb;">squareBottom</field>
<value name="VALUE">
<block type="bitbybit.polyline.create" id="o(zCo]jCh{*u~RmKEWvS">
<value name="Points">
<block type="lists_create_with" id="^JVV(VA}u.Z7Gf5G?Fe`">
<mutation items="5">
</mutation>
<value name="ADD0">
<block type="bitbybit.point.pointXYZ" id="x1g~I{LT@w)lzsR3_g?(">
<value name="X">
<block type="math_single" id="h];pG(Wy2sRo4=F=Uu8[">
<field name="OP">NEG</field>
<value name="NUM">
<block type="math_arithmetic" id="LK1XAr$nML{D3@a,-dYY">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="NMS8E:FdO8:GAeh#!`Cn">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id="}E_hHt+)(fF*3wnZd#4q">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_number" id="m(T2dgB.*ai(N$z.K=}K">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="Z8c`X!?X4%w)C@|@*`,X">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="(ptVkqY~9`$(B:J9L+t1">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id="0ns@5gs]-Jl$1is]!u(;">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.point.pointXYZ" id="J^W;]J=VGUPxewl8[BV-">
<value name="X">
<block type="math_arithmetic" id="d:]X$5K9GzuQA9j*J$5t">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="!HM;k~,QM}Nl9W5OIXG4">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id="c@R|`z;bvV4(+j/+7`7v">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_number" id="6r0oJWy${)mmFZv(OQ/Y">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="%w~;PwrH1dS-VpY?6SHL">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="j5~V1[DvXWPT57Ira5v_">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id="x93i%wve{+#xU=Dr9d~c">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="bitbybit.point.pointXYZ" id="U]Yrjxdc)gQqWjbJlXZQ">
<value name="X">
<block type="math_arithmetic" id="*eb6K-*BOJ`iT5YA8n,*">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="ap-S,zd4TVf(f:U$ewpW">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id=";B^~MhwHG+L]o+9VaRoi">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_number" id="nKlC^9YP}BB5WihGQj^c">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_single" id="ZAh];wHfRf*GDNInljoC">
<field name="OP">NEG</field>
<value name="NUM">
<block type="math_arithmetic" id="J#IAE,%Ttkz|3(`DnBm/">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="I[9pn./;SX/7N],5yi=$">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id=",H:gGI`Fa$7}5@}pKNrN">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD3">
<block type="bitbybit.point.pointXYZ" id="m1{farv0+B[`[{TS4|4t">
<value name="X">
<block type="math_single" id="^W_|7Pe]^}Ra$N;`.ctg">
<field name="OP">NEG</field>
<value name="NUM">
<block type="math_arithmetic" id="Z}SU`Ax$ohqWtPw$#(Bs">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="J9D%ZMMq9qUp1:D_^Dv]">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id="ZdC*zN*S?oPVQ;S8IJWa">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_number" id="%S!*oU2I@Vf~f;6mSgyO">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_single" id="]7|`Q?15Yh6Vi@)l{[V[">
<field name="OP">NEG</field>
<value name="NUM">
<block type="math_arithmetic" id="8993N/X}WMtf(l}fWwu~">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="|+f*4wxBo+pHWgu}vq(5">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id="c=yO,WEi|[U(Jv4dmn}+">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD4">
<block type="bitbybit.point.pointXYZ" id="=O.Q~RelwP=qp_Xj6?j.">
<value name="X">
<block type="math_single" id="^7*DU.V`6GP69%STz|Yu">
<field name="OP">NEG</field>
<value name="NUM">
<block type="math_arithmetic" id="r/O@0Gf;:s7RFvL6Zg2B">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="As}ikAyzK3mdmvf6XGqz">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id="@6Y6ebOg7hH$CMq-G~qh">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="math_number" id="ySdnzD:1(f7ORrwtf@%E">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_arithmetic" id="I]diHPu5M0/jsrQp{,||">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="L42l*UOzWje;F(JW~?yR">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id="AH]P!igv(2/$GZy9J2cq">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="s@#8x*~=|H2H#;tSyB+Q">
<field name="VAR" id="v^-:mBgKWl/0[8O@*4B.">squareTop</field>
<value name="VALUE">
<block type="bitbybit.polyline.transformPolyline" id="-Q%VTPi$#y*_UVBE@n:q">
<value name="Polyline">
<block type="variables_get" id="2;Q5-9WguiFVrWNppF/v">
<field name="VAR" id="6jxq8f#z4-RPdLwiLSb;">squareBottom</field>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.translationXYZ" id="CA;hrKN8CCn!JUZ?MH^?">
<value name="Translation">
<block type="bitbybit.point.pointXYZ" id="%#LC(7G6O+M/O/BKw#[,">
<value name="X">
<block type="math_number" id=",tR/MC0u;JUdWIqEY:hS">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="RS[!l!F7gL3EUglX^]D|">
<field name="VAR" id="#.u:oE_F6^~QOUC@d=|t">height</field>
</block>
</value>
<value name="Z">
<block type="math_number" id=".~|LsIRFhnDZxj+cxJ!_">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="U[~1/o__#QO90k#;t@qL">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
<value name="VALUE">
<block type="lists_create_with" id="9`eO^lKOUGr@o,B/g%PH">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="variables_set" id="Jn[1%nuTCdS_+yiIWGMg">
<field name="VAR" id="C3G+f[(BMhatg_L,s8Nj">attractorSpeeds</field>
<value name="VALUE">
<block type="lists_create_with" id="=wA4LJg2(PJeKtNivXj(">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="variables_set" id="MpAy[n]puh^;Hh8.Ryl*">
<field name="VAR" id="AS/6?QO)KX+lF{L(*%[s">attractorHeights</field>
<value name="VALUE">
<block type="lists_create_with" id="*$DhnFg@~[D~BLz|NSQ{">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_repeat_ext" id="@tg4z5c=teY3mAPjgV$o">
<value name="TIMES">
<block type="variables_get" id="b.J0yJ|~o1~AQ-61(?FN">
<field name="VAR" id="F=PFfQow3+HR58=B-)lk">nrOfAttractorAgents</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="``WskmPh:SISVoQFl4Ez">
<field name="VAR" id="Rmn+rPH2Ug%d;Irv*kox">agentHeight</field>
<value name="VALUE">
<block type="math_number" id="yxAwu(D0l^e|,;G_h4a1">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="lists_setIndex" id="`K!CxT)N$8;|d(a*FPv4">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="Xo-I?TMxUQVc|yF6}%i+">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.point.pointXYZ" id="d,mRs``)AG-th!#b5`}F">
<value name="X">
<block type="bitbybit.math.remap" id="c],-@5NYnH]YP9}J1dzL">
<value name="Number">
<block type="bitbybit.math.random" id="H0mk{`V@BDkL_Wnyj#^M">
</block>
</value>
<value name="FromLow">
<block type="math_number" id="m6k#O=FQ5[PPKbeR7Z=_">
<field name="NUM">0</field>
</block>
</value>
<value name="FromHigh">
<block type="math_number" id=")$h1UVbaAk=,KT.E@j1x">
<field name="NUM">1</field>
</block>
</value>
<value name="ToLow">
<block type="math_arithmetic" id="AYL|OmY@lwpiv$4NM_)0">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="math_single" id="K]J4AF/MtR[sNwTlj*.-">
<field name="OP">NEG</field>
<value name="NUM">
<block type="variables_get" id="s,T.AJ{ykRJ$Jt9K3LSZ">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="math_number" id="()qXdLrd1tK$m}w]#qVK">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="ToHigh">
<block type="math_arithmetic" id="z5E%RVU%3oP4rM:poI3g">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="H=eT0l%IP/PgL:9i-JGP">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id="Uoi{Br:,+ah[f*Y3TFR6">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="variables_get" id="e4s,kX^1wcEA(IlQQ_DJ">
<field name="VAR" id="Rmn+rPH2Ug%d;Irv*kox">agentHeight</field>
</block>
</value>
<value name="Z">
<block type="bitbybit.math.remap" id="*@O{bgsN:#;goaV;_nsm">
<value name="Number">
<block type="bitbybit.math.random" id="w+y8!T!D#LqrTOustxab">
</block>
</value>
<value name="FromLow">
<block type="math_number" id="9=VG(h#PM1]!mYV0qd@A">
<field name="NUM">0</field>
</block>
</value>
<value name="FromHigh">
<block type="math_number" id="lLtZDvYSMddyjnvz7;/_">
<field name="NUM">1</field>
</block>
</value>
<value name="ToLow">
<block type="math_arithmetic" id="+kJ!29u)s?K!iATmMMb+">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="math_single" id="WKsbp[Z,r+]AHQ?8G0H,">
<field name="OP">NEG</field>
<value name="NUM">
<block type="variables_get" id="Asx$S9b6yF}P!(M_+ibt">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="math_number" id="b%H,D(r|O2CA{lo}p[Ay">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="ToHigh">
<block type="math_arithmetic" id="/%}-f_*NpYiloA4od|Wr">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="hZkH=iTA~v1Y[%e]yg{u">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id="IGr(`k;?ws9aca}FRZKL">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="%CRFzC[6gHR}WR@KG8O$">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="Hn[+r2Bk,9WX:4d^=;5;">
<field name="VAR" id="C3G+f[(BMhatg_L,s8Nj">attractorSpeeds</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.math.remap" id="C*uX;51y1bb=OkXsS8qs">
<value name="Number">
<block type="bitbybit.math.random" id="{Kviwhob;N3N[/H.h14Z">
</block>
</value>
<value name="FromLow">
<block type="math_number" id="0`5A*kw#~QnTkd_t//nt">
<field name="NUM">0</field>
</block>
</value>
<value name="FromHigh">
<block type="math_number" id="f%eE({U4G2-nMSA*5q@u">
<field name="NUM">1</field>
</block>
</value>
<value name="ToLow">
<block type="math_number" id="{2@|URW^u3KTS9Ujy4FI">
<field name="NUM">0.02</field>
</block>
</value>
<value name="ToHigh">
<block type="math_number" id="Z#D_kC}!+:40{DAD#`,g">
<field name="NUM">0.05</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="Rn@R^He1~KWFuF@G9Zur">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="K2JCJ2$IkJF]M]y2M`I3">
<field name="VAR" id="AS/6?QO)KX+lF{L(*%[s">attractorHeights</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="r1EFpoV!MVToB#!b|ko5">
<field name="VAR" id="Rmn+rPH2Ug%d;Irv*kox">agentHeight</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="RJIf2gTSIkZFF^;~qn^2">
<field name="VAR" id="RF@1uO!Hj#o5Mi0S$~k/">lengthStepFactor</field>
<value name="VALUE">
<block type="math_number" id="Z9IQlld]c-.@@LLk:T|f">
<field name="NUM">2</field>
</block>
</value>
<next>
<block type="variables_set" id="[)d5D{}i5hbFB(4Kl)^X">
<field name="VAR" id="p_M4;Z*}8pQ0X^-|T%xo">linePoints</field>
<value name="VALUE">
<block type="lists_create_with" id="tdX3W_m.p+yYYkk*q1[n">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="variables_set" id=")/u6Dg^LYY1vpa*=$|_%">
<field name="VAR" id="%/m`,G%lXSp/N*(IfWQk">closestAttractorIndexes</field>
<value name="VALUE">
<block type="lists_create_with" id="6O7S@|*~bg(6y@s=`bQe">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="variables_set" id="C.OSs;GB/TlE.sot,4j+">
<field name="VAR" id="qQ!HYT+Z,Ll@h1kz.UB!">closestAttractorDistanceWeights</field>
<value name="VALUE">
<block type="lists_create_with" id="F8.?}!g9_Hz6gCRnIn=c">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_for" id="QiDxg1$_8}:H=xsMMA9I">
<field name="VAR" id="sBaq6V+P*jw-1f-6H)a.">widthIndex</field>
<value name="FROM">
<block type="math_single" id="c!I|=N7Pqi(c[#xPh$fq">
<field name="OP">NEG</field>
<value name="NUM">
<block type="math_arithmetic" id="_31$U4ab5ucc*f(c6QR~">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="!;.r0`n:+-;!8RpRmyor">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id="H6wAP$tAKo6Zo/rom:vP">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="math_arithmetic" id="Qkd]6eE1dKRqBNteg,Ww">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="PG%-=lyOYl~8ru%`e#]-">
<field name="VAR" id="[k}[jVtbBfRp_,m1xEFT">width</field>
</block>
</value>
<value name="B">
<block type="math_number" id="OT]D;6]oS@Lu:J{Tf)hL">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="BY">
<block type="math_number" id="Rb:DDp/$~]pzTBp~XaeD">
<field name="NUM">0.5</field>
</block>
</value>
<statement name="DO">
<block type="controls_for" id="~rbK8kRFlkwbGS=!.;f2">
<field name="VAR" id="ih~1tpwM`8PjuYKSPNB[">lengthIndex</field>
<value name="FROM">
<block type="math_single" id="/5@j?3nPY-}hv5Lahv5k">
<field name="OP">NEG</field>
<value name="NUM">
<block type="math_arithmetic" id="MvF,aeOmw{cvTLV:8Ed%">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="3/`_tcZt~rHhmi8Q~@e^">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id="-/@-QK^^1OrmED;gqP7b">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="TO">
<block type="math_arithmetic" id=".VCbI=XWRRV,|g)y)UjA">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="?uq*fB[i8$q2;#-gLQ#O">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="math_number" id="]3^]FQn|}Ate8Ald5mZ/">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="BY">
<block type="variables_get" id="e^#OjHTO1rp],5D;O*v7">
<field name="VAR" id="RF@1uO!Hj#o5Mi0S$~k/">lengthStepFactor</field>
</block>
</value>
<statement name="DO">
<block type="lists_setIndex" id="Gvwra!D3]8RA;b/dpd?.">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="H7o*K1Gk$NwnmP)xkMbr">
<field name="VAR" id="p_M4;Z*}8pQ0X^-|T%xo">linePoints</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.point.pointXYZ" id="@@-*?8lClJ#F[u%tbayS">
<value name="X">
<block type="variables_get" id="ycC+zR2{B=M(p6:fpVQV">
<field name="VAR" id="sBaq6V+P*jw-1f-6H)a.">widthIndex</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="(ivEc;fw!1J|{+rmRFN!">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="variables_get" id="wIRDhS26UHz:Il#g4DAO">
<field name="VAR" id="ih~1tpwM`8PjuYKSPNB[">lengthIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="9zW^RdwVlCx8~))KU,`M">
<field name="VAR" id="AS5tNM^tSb``Qv.;dZVF">closestAttractorIndex</field>
<value name="VALUE">
<block type="bitbybit.point.closestPointFromPointsIndex" id="1}BD[4V+0GrHw.c[K8+{">
<value name="Points">
<block type="variables_get" id=";In[6Xd1t`:BoU5En8PE">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
</block>
</value>
<value name="Point">
<block type="bitbybit.point.pointXYZ" id="lKF?/0b/8E5=3C{QTz]I">
<value name="X">
<block type="variables_get" id="ki]?o446NH4Wc0)0,g~J">
<field name="VAR" id="sBaq6V+P*jw-1f-6H)a.">widthIndex</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="VGV0d8LuUcjC0k!YtH@i">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="variables_get" id="b_iZxh?QYrvqq:s#YSJn">
<field name="VAR" id="ih~1tpwM`8PjuYKSPNB[">lengthIndex</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="]LtXW+CNh;LAc{ka=[iX">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="!!W5UI@xt@0xydv11id`">
<field name="VAR" id="%/m`,G%lXSp/N*(IfWQk">closestAttractorIndexes</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="nZ;DxnLBf!`yPD45~:/o">
<field name="VAR" id="AS5tNM^tSb``Qv.;dZVF">closestAttractorIndex</field>
</block>
</value>
<next>
<block type="variables_set" id="7B?Y/x-N%po$L$+X(r#{">
<field name="VAR" id="{;clp1E92MRCPY;bEk}k">closestAttractorPoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="t|}h#yc~3re~8ng|kPZQ">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="lgv*DW{y%M8rgC9brpOK">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="m|1-o#hqaI!S0t:xz~s9">
<field name="VAR" id="AS5tNM^tSb``Qv.;dZVF">closestAttractorIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="cz(|UgK*~LD5=`?J;=.z">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="IrspFMk!DaI3VnjhF~#8">
<field name="VAR" id="qQ!HYT+Z,Ll@h1kz.UB!">closestAttractorDistanceWeights</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.math.remap" id="^x-g*{3Z}|Jt3%dn{uRS">
<value name="Number">
<block type="bitbybit.point.distance" id="%z?7cA%|p.VNk$^V*L`-">
<value name="StartPoint">
<block type="bitbybit.point.pointXYZ" id="T.VtSlebprjTotmfl7hM">
<value name="X">
<block type="variables_get" id="70jESFB.R@s`NTxaR2go">
<field name="VAR" id="sBaq6V+P*jw-1f-6H)a.">widthIndex</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="o4$=}AxLUX,6Wp%?e?6g">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="variables_get" id="?LzgW-8*nHkzG5_SL,tA">
<field name="VAR" id="ih~1tpwM`8PjuYKSPNB[">lengthIndex</field>
</block>
</value>
</block>
</value>
<value name="EndPoint">
<block type="variables_get" id="q~mylF`WOCMl;[ia^|J.">
<field name="VAR" id="{;clp1E92MRCPY;bEk}k">closestAttractorPoint</field>
</block>
</value>
</block>
</value>
<value name="FromLow">
<block type="math_number" id="N~a/QIn3klB9fn+vgok?">
<field name="NUM">0</field>
</block>
</value>
<value name="FromHigh">
<block type="math_number" id=")PdcMmRrLR4J.X;,.;:P">
<field name="NUM">4</field>
</block>
</value>
<value name="ToLow">
<block type="math_number" id=",#^o^3`mb7Bj,vw@cyk*">
<field name="NUM">0.4</field>
</block>
</value>
<value name="ToHigh">
<block type="math_number" id="k8x~.!_CLg}l#I6V|S(Q">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
<next>
<block type="variables_set" id="?/pciF1cIP#p8^2RZhF_">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
<value name="VALUE">
<block type="lists_create_with" id="Nm/[RQZ?uwNA%b/i]GE4">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="variables_set" id="m#:!Gz)][a4A[Lxv.^C^">
<field name="VAR" id="U@2]CRYaGs-?CE=SsQK9">tailFramesLength</field>
<value name="VALUE">
<block type="math_number" id="/47K0//+IgMFT@)V@m,n">
<field name="NUM">150</field>
</block>
</value>
<next>
<block type="variables_set" id="NJk@THbVWDOQ|WD^08bP">
<field name="VAR" id="V#d9rRJJUTRCl?no)|68">linesMesh</field>
<value name="VALUE">
<block type="logic_boolean" id="+=d)z$R63bU#fmrRV[1u">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="o9Q@#,$XNP(Fq1hA2#]c">
<field name="VAR" id="V#d9rRJJUTRCl?no)|68">linesMesh</field>
<value name="VALUE">
<block type="logic_boolean" id="ms$.Ro6@1[oZ3jOz%[cw">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="base_time_update" id="`{!9towq]J6ekTb/2_U7">
<field name="TimePassedMs" id="F(D,Gf5Fa|4!MH}O:cTb">timeElapsedFromPreviousFrame</field>
<statement name="Update">
<block type="controls_if" id="NCJyDvj0S=UQI|z`k;IM">
<value name="IF0">
<block type="logic_boolean" id="}lJN{DSd,=a)pWz^N*.w">
<field name="BOOL">TRUE</field>
</block>
</value>
<statement name="DO0">
<block type="controls_for" id="hi]YG;vq`T~Z^s];tIm$">
<field name="VAR" id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</field>
<value name="FROM">
<block type="math_number" id="}#L3w3wT}_7WY4%z_?QY">
<field name="NUM">1</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="xeZ5[=|[-weSFNn4tvn_">
<field name="VAR" id="F=PFfQow3+HR58=B-)lk">nrOfAttractorAgents</field>
</block>
</value>
<value name="BY">
<block type="math_number" id=",/^gzf}:?{o[bx`;-[Pz">
<field name="NUM">1</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="/gTj[YcE?bs3h;o5%R{C">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
<value name="VALUE">
<block type="lists_getIndex" id="2kS+JHcdWS%|k,)C##7%">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="qFTEUS`aRRV/!ff0MGfo">
<field name="VAR" id="C3G+f[(BMhatg_L,s8Nj">attractorSpeeds</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="9r7@T6@EI3Jc,Wy~@Co.">
<field name="VAR" id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="U0-dicUsir})^W*hCxV=">
<field name="VAR" id="[JJ_#]3N]1sW~Mi!sJ6P">attractorHeight</field>
<value name="VALUE">
<block type="lists_getIndex" id="D)v^g=tb0%cS[^UI=(cG">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="DEEmT4_Gr-C4f?c6C2SH">
<field name="VAR" id="AS/6?QO)KX+lF{L(*%[s">attractorHeights</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="pmMeZW94yDUh!+cJ,P?V">
<field name="VAR" id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="{H0rF7Y@y44ER(QDbs/m">
<field name="VAR" id="i?cpa=$WwJ!QDnYNVx#I">attractorPoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="E](H`;Gu8gk?r~31jh8)">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="Wc(x@A=x_VBNDvf0x^wv">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="!Ao)r_.EzLr,46(yR/~*">
<field name="VAR" id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_if" id="hQY^o_usVSDcQFEQKQJa">
<mutation elseif="1">
</mutation>
<value name="IF0">
<block type="logic_compare" id="]2}Bf=RI=:i0j?-=KWsb">
<field name="OP">GT</field>
<value name="A">
<block type="variables_get" id="l.Z2ud;BKE!1y_+#0wZE">
<field name="VAR" id="[JJ_#]3N]1sW~Mi!sJ6P">attractorHeight</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="j1H0y+HBu;sLAq~{d/D{">
<field name="VAR" id="#.u:oE_F6^~QOUC@d=|t">height</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="ri9LRzFt7n.FQTJ.=3$Q">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
<value name="VALUE">
<block type="math_arithmetic" id="2k}Do!V{G]HIG{piP/yB">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="vEYrIJN6z4pn_]lS4PE7">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
</block>
</value>
<value name="B">
<block type="math_number" id="upjh,}]vWC.g+AUdqV{+">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="4q*wmjr/Z.uUFd:e83N+">
<field name="OP">LT</field>
<value name="A">
<block type="variables_get" id="F@e1Eic$#Pxz({j*u!TT">
<field name="VAR" id="[JJ_#]3N]1sW~Mi!sJ6P">attractorHeight</field>
</block>
</value>
<value name="B">
<block type="math_number" id="FY(/s+Wt+a2p,cuHxnu#">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="variables_set" id="D(;YK=4=%^?(Ir?;yffS">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
<value name="VALUE">
<block type="math_arithmetic" id="YK=ux;J9Y-@1*Y+xm`0M">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="Z9!t2_WBgq.eQ|-4#KNB">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
</block>
</value>
<value name="B">
<block type="math_number" id="zs15`P|a-}Ks4Kz_LH?/">
<field name="NUM">-1</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="math_change" id="i2+7t|b[Vkuaz`59#0Q_">
<field name="VAR" id="[JJ_#]3N]1sW~Mi!sJ6P">attractorHeight</field>
<value name="DELTA">
<block type="variables_get" id="4zhJ$m.huUDO;.!%DHjr">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
</block>
</value>
<next>
<block type="variables_set" id="wvJggVM,._aP5)vjVKnT">
<field name="VAR" id="i?cpa=$WwJ!QDnYNVx#I">attractorPoint</field>
<value name="VALUE">
<block type="bitbybit.point.transformPoint" id="Co,7N)PJBn3HDc$zx]^b">
<value name="Point">
<block type="variables_get" id="!$iaev|pJvPM@yHGe[bR">
<field name="VAR" id="i?cpa=$WwJ!QDnYNVx#I">attractorPoint</field>
</block>
</value>
<value name="Transformation">
<block type="bitbybit.babylon.transforms.translationXYZ" id="kwckuK,/[ewmU@vG)$d^">
<value name="Translation">
<block type="bitbybit.point.pointXYZ" id="16v,|4scM(uD;TV9~z20">
<value name="X">
<block type="math_number" id="hh]6W}]}[EHw(vc7U57Y">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="variables_get" id="eJhcRCcz4+I%LCDS+8s.">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="uSrwQJRN!82JXssFHD*u">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="EjP`C;nV|AvLRtZRE=2@">
<mutation at="true">
</mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="variables_get" id="h/XobxW~Yb/b!ye8/L*i">
<field name="VAR" id="AS/6?QO)KX+lF{L(*%[s">attractorHeights</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="jDRXVqM.fUm(f13zTBJ`">
<field name="VAR" id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="e)S1QJ4S=[6Ph=)o`SOd">
<field name="VAR" id="[JJ_#]3N]1sW~Mi!sJ6P">attractorHeight</field>
</block>
</value>
<next>
<block type="lists_setIndex" id="{=sQG:XFa)#G6v1x(P//">
<mutation at="true">
</mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="variables_get" id=":L/iVwATmOtl%;4(UnW{">
<field name="VAR" id="C3G+f[(BMhatg_L,s8Nj">attractorSpeeds</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="TMNhy^{j!s+y2%G$wy$}">
<field name="VAR" id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="EG5wp(`u%eq_~8Bu/DPF">
<field name="VAR" id=",?oWOycYdx;XdA.nH6_n">attractorSpeed</field>
</block>
</value>
<next>
<block type="lists_setIndex" id="Y[e.m=X5aH]3lz8ZQ]rF">
<mutation at="true">
</mutation>
<field name="MODE">SET</field>
<field name="WHERE">FROM_START</field>
<value name="LIST">
<block type="variables_get" id="2fJ;$(zgJ+[=(m{o@h.8">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="6=l}TVX5!W_#~B.9VSr?">
<field name="VAR" id="Qvb5k;nPR(IUoCt(1K1y">currentAttractorIndex</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="S{+QGl*??*,g3?W+PnsL">
<field name="VAR" id="i?cpa=$WwJ!QDnYNVx#I">attractorPoint</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="VG}R+WJxBkl=Zat$}~(u">
<field name="VAR" id="yhGZ99v7FP41YtQEzc(0">mesh</field>
<value name="VALUE">
<block type="bitbybit.draw.drawAny" id="ZAp;Rkv2$eW7-?$K~(T.">
<value name="Entity">
<block type="variables_get" id="vi:LMLJM!N7Z%vP:I*:i">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="!PXDb@DM(8X:k)iTP)]b">
<value name="Colours">
<block type="colour_picker" id="WQZbM6Bh0Ip+IS#VJ}Sr">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="9}xM.p%Nq0HO5T4+%2b]">
<field name="NUM">0.2</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="(^ng-tQR+sDG-:U~fJBG">
<field name="NUM">1</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id=",@Msx.B{3omtpFGvV4I2">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="BabylonMesh">
<block type="variables_get" id=":oECIQ#n(OI7=k6#OmXO">
<field name="VAR" id="yhGZ99v7FP41YtQEzc(0">mesh</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="Z=}|HVD)Lwk!f@+hELmh">
<field name="VAR" id="-GIFo1#NEk=dp5ne6CDw">grid</field>
<value name="VALUE">
<block type="lists_create_with" id="*dTBQhsOtfIQroq*WVkU">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_for" id="~,@|)Wecs%Tog,%e{jP`">
<field name="VAR" id="woncE=#;cizgyX.b4|P+">linePointsIndex</field>
<value name="FROM">
<block type="math_number" id="~,e47l]:2f2w3Um:|vH;">
<field name="NUM">1</field>
</block>
</value>
<value name="TO">
<block type="lists_length" id="x{NS*#nOUW:fiyg6T)1Q">
<value name="VALUE">
<block type="variables_get" id="w(Opp-T?Sd]F0A|mY~WQ">
<field name="VAR" id="p_M4;Z*}8pQ0X^-|T%xo">linePoints</field>
</block>
</value>
</block>
</value>
<value name="BY">
<block type="math_number" id="I/,|Fm|/vJNb#wkD8Mmj">
<field name="NUM">1</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="26cB-N|0TTPZ,4R{^Yi?">
<field name="VAR" id="=kO_A0=f=F$o,(zYpQz5">currentLinePoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="*4T,P5m)6cZA)IrTS_Q6">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id=")gBm}3/mhPn]SYP,Z1]N">
<field name="VAR" id="p_M4;Z*}8pQ0X^-|T%xo">linePoints</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id=",eAl5^goFkGnrs=|L5EE">
<field name="VAR" id="woncE=#;cizgyX.b4|P+">linePointsIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="s%rMpMrx|-.5V8*-{a@^">
<field name="VAR" id="5#2$OOOfYk)~h=9DI_ln">activeAttractorIndexForPoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="QnDJy;*9iLZf4tSFz*~=">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="Nx]T=a+VTeA}3XKc{fMF">
<field name="VAR" id="%/m`,G%lXSp/N*(IfWQk">closestAttractorIndexes</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="/tkb3w;S}h6Dr83lS,}F">
<field name="VAR" id="woncE=#;cizgyX.b4|P+">linePointsIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="q~r$RHPf@9-GN5E%9S5p">
<field name="VAR" id="]si*)%{~^jnSm!]0P?o,">activeDistanceWeightForPoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="wK2GTycbfWa:R=rw]1l~">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id=":wk0de=HV?;z}7!pc|cD">
<field name="VAR" id="qQ!HYT+Z,Ll@h1kz.UB!">closestAttractorDistanceWeights</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="ZMOezf[G#)74%cf5P1Tb">
<field name="VAR" id="woncE=#;cizgyX.b4|P+">linePointsIndex</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="xClZd2|!/uQM^?6?QaT3">
<field name="VAR" id="wyZ@=4]17Mx?Xi%6aNry">activeAgentPositionForPoint</field>
<value name="VALUE">
<block type="lists_getIndex" id="m!]^]RQhI!Ve|s=C0vcG">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="VmMVLSRqGz13c;.z,hjS">
<field name="VAR" id="]tU_J_`rz=hlv.[kfC#i">attractorAgentPositions</field>
</block>
</value>
<value name="AT">
<block type="variables_get" id="wVGFJo{`poY))!}!V7Zv">
<field name="VAR" id="5#2$OOOfYk)~h=9DI_ln">activeAttractorIndexForPoint</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="7%6mGo}nt]*Vi?j~CU6;">
<field name="VAR" id="[MSm^gAn#pc+]Yj`dukM">pointHeight</field>
<value name="VALUE">
<block type="math_arithmetic" id="2qdIJEiU7wUftvVJq9So">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="LHFO?7M-WSE/M3kE-ekX">
<field name="VAR" id="]si*)%{~^jnSm!]0P?o,">activeDistanceWeightForPoint</field>
</block>
</value>
<value name="B">
<block type="bitbybit.point.getY" id="%#`aG:9QY/=6Ko2?sWoj">
<value name="Point">
<block type="variables_get" id="OreiybBGKD`?ax_jFFs_">
<field name="VAR" id="wyZ@=4]17Mx?Xi%6aNry">activeAgentPositionForPoint</field>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="eQz$;{V-gm*!helq=#Yc">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="OFcWGeAn(q0A6LQ($Hf#">
<field name="VAR" id="-GIFo1#NEk=dp5ne6CDw">grid</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.point.pointXYZ" id="LY:3d(l0z|;Fe)^Xwz=(">
<value name="X">
<block type="bitbybit.point.getX" id=",fkNn6xa(KfOm$NNhKhf">
<value name="Point">
<block type="variables_get" id="9*{G0RND_!R~#,/U~/S3">
<field name="VAR" id="=kO_A0=f=F$o,(zYpQz5">currentLinePoint</field>
</block>
</value>
</block>
</value>
<value name="Y">
<block type="variables_get" id="ltfD3Xp0|b}b9R;a+fKI">
<field name="VAR" id="[MSm^gAn#pc+]Yj`dukM">pointHeight</field>
</block>
</value>
<value name="Z">
<block type="bitbybit.point.getZ" id="x(!lH#](-O2bgMXKqJug">
<value name="Point">
<block type="variables_get" id="jMo}F33#Q1eg}016@+uC">
<field name="VAR" id="=kO_A0=f=F$o,(zYpQz5">currentLinePoint</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
<next>
<block type="variables_set" id="mOL^y~!w|BQQyIHw2;u5">
<field name="VAR" id="je2p()I,OS;Nvy*e`BRy">gridPolylines</field>
<value name="VALUE">
<block type="lists_create_with" id="?!lSd,z5O|F!06Cw50Lq">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_forEach" id="G7F-|bh/,%:C{Qk_-G6#">
<field name="VAR" id="6BIY.H!EmKf3MKpcWzl~">polylinePoints</field>
<value name="LIST">
<block type="bitbybit.lists.groupNth" id="C+lYb}A6hs|=F_45NvwL">
<value name="List">
<block type="variables_get" id="*SrGfG0)oC2c+iSB*H#E">
<field name="VAR" id="-GIFo1#NEk=dp5ne6CDw">grid</field>
</block>
</value>
<value name="NrElements">
<block type="math_arithmetic" id="y+(qrlT$7EQKz9=lftL/">
<field name="OP">ADD</field>
<value name="A">
<block type="math_arithmetic" id="IQly#bj-sY],Ra+%u7sn">
<field name="OP">DIVIDE</field>
<value name="A">
<block type="variables_get" id="eOlAR?c+Id{2@El/.QOi">
<field name="VAR" id="E6`1~2.j5kn__{b3VrT_">length</field>
</block>
</value>
<value name="B">
<block type="variables_get" id="_%0_Me_r^k/..OTo@fqL">
<field name="VAR" id="RF@1uO!Hj#o5Mi0S$~k/">lengthStepFactor</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="math_number" id="U;aHQ/mLIPlAfowwH1|K">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="KeepRemainder">
<block type="logic_boolean" id="b-1NWW69:K%?TvAD*?e`">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<statement name="DO">
<block type="lists_setIndex" id="Ka%2cUqJ1yJ+$r|Lk]v8">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="%#Sr[xUb*B%XnIMpiv2:">
<field name="VAR" id="je2p()I,OS;Nvy*e`BRy">gridPolylines</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.polyline.create" id="^4+Cf2o99T]ala;r4`Mp">
<value name="Points">
<block type="variables_get" id="$Mw!h]jQlt#=;=,UBM?A">
<field name="VAR" id="6BIY.H!EmKf3MKpcWzl~">polylinePoints</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="G?+2NYGFChO}d7lzJO$M">
<mutation else="1">
</mutation>
<value name="IF0">
<block type="logic_compare" id="fA~)_wP0VqQm!e+L7WI$">
<field name="OP">EQ</field>
<value name="A">
<block type="lists_length" id="lrhbV?=Cu;6^!wjGIFze">
<value name="VALUE">
<block type="variables_get" id="Qt5vCcVYE/**XMCWcF),">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="variables_get" id="dzqs[5hgJ#E#h)1l.n}}">
<field name="VAR" id="U@2]CRYaGs-?CE=SsQK9">tailFramesLength</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="lists_getIndex" id="#aTpJF[g{/n`lN,0L}Bv">
<mutation statement="true" at="true">
</mutation>
<field name="MODE">REMOVE</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="4pBnrn*-m6jG-)oF.y,c">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="AT">
<block type="math_number" id=".iKmZCN`G|Pju;zcG|.N">
<field name="NUM">1</field>
</block>
</value>
<next>
<block type="lists_setIndex" id="o/@kfsE4g#%NH[+-[-qL">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="jgiv(y4k?Eyvf3jC6.[/">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="Yj|]-Kqv{9sAC:f-m]HX">
<field name="VAR" id="je2p()I,OS;Nvy*e`BRy">gridPolylines</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<statement name="ELSE">
<block type="lists_setIndex" id="@B|D%ZxVcDlLA~/Krb{C">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="]gmotD^F#%L=/pcaFv{m">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="TO">
<block type="variables_get" id="uMYkml9]6~:orWu,(5*O">
<field name="VAR" id="je2p()I,OS;Nvy*e`BRy">gridPolylines</field>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="F%X!|0#WXZ(g~P(x{]n;">
<value name="IF0">
<block type="lists_getIndex" id="FcKDy/OG*1`]:n*b9r!h">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="#X4nP3kM7vwQlH5y29U$">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="AT">
<block type="math_round" id="cxCC+hi^s4gOFp*@O3^l">
<field name="OP">ROUNDDOWN</field>
<value name="NUM">
<block type="math_arithmetic" id="^(lk`}vY]7:V!p4|r3X6">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="pub,Q_K`fLm(1X^1_lmw">
<field name="VAR" id="U@2]CRYaGs-?CE=SsQK9">tailFramesLength</field>
</block>
</value>
<value name="B">
<block type="math_number" id="oX~W{FCVROL)XRFPSyCe">
<field name="NUM">0.66</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="Z1y:8/c[if?Gr5BY%}Ac">
<field name="VAR" id="vxez[HG~S;n~s_,VmeBj">linesMesh4</field>
<value name="VALUE">
<block type="bitbybit.draw.drawAny" id="UA]y,3qF$EY(FHa}.Re.">
<value name="Entity">
<block type="lists_getIndex" id="{}0*4f/Bg#Nqoh`J+*ml">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="+vtA$^KsK0j1[aG(Wk9j">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="AT">
<block type="math_round" id="c3TUie|d5u*cD!U*;,x1">
<field name="OP">ROUNDDOWN</field>
<value name="NUM">
<block type="math_arithmetic" id="H^iSvaNjxE1.%ug8MTP]">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id=".04ob=l25py`OdxQ#J4S">
<field name="VAR" id="U@2]CRYaGs-?CE=SsQK9">tailFramesLength</field>
</block>
</value>
<value name="B">
<block type="math_number" id=".G)|K9Tvs::G6bmt^nbE">
<field name="NUM">0.66</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="MKWGY!*14:]X]R9VsH}+">
<value name="Colours">
<block type="colour_picker" id="?Vx:b6D=xoA#1RVHQRdl">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id=".eK}IUf%oyv?]*l=YlU9">
<field name="NUM">10</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="B|Z_Mj!OBD{@ejg@59cO">
<field name="NUM">0.7</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id="`2`RkQ7,{}?o}M!]g17f">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="BabylonMesh">
<block type="variables_get" id="uql~GQ[8zoW5byRStANT">
<field name="VAR" id="vxez[HG~S;n~s_,VmeBj">linesMesh4</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="[/L,G4aJG2L6u]t[O]{o">
<value name="IF0">
<block type="lists_getIndex" id="vf4@UZcjUDdNx@`4xY@8">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="dCV[5^!:{!)qc^tPRu`9">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="AT">
<block type="math_round" id="pDslv[?ke*3oz}LiYR{n">
<field name="OP">ROUNDDOWN</field>
<value name="NUM">
<block type="math_arithmetic" id="0d$N#[fPPYuV[Q_V=2iU">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="L1K/.2U{M`~_=0f]r%M)">
<field name="VAR" id="U@2]CRYaGs-?CE=SsQK9">tailFramesLength</field>
</block>
</value>
<value name="B">
<block type="math_number" id="IEyVA:.*m!h0M])W$6Oe">
<field name="NUM">0.33</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="rPt*7f-x4O4sYEEOU2Wh">
<field name="VAR" id=".c3t!|_N~OFn4h@v1N(v">linesMesh3</field>
<value name="VALUE">
<block type="bitbybit.draw.drawAny" id="J|[+E)C@P0M%b8wR0!9n">
<value name="Entity">
<block type="lists_getIndex" id="W/t`KC+!CahQJQEA-okM">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="]i;RA4w/Zaa+_aFsm}MR">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="AT">
<block type="math_round" id="|j?yutXYDI5-/Y]}[.uQ">
<field name="OP">ROUNDDOWN</field>
<value name="NUM">
<block type="math_arithmetic" id="/a]1Z7;/p}_*^7KRJXO[">
<field name="OP">MULTIPLY</field>
<value name="A">
<block type="variables_get" id="8YjIk9|FxLi*tE}ZQ$c8">
<field name="VAR" id="U@2]CRYaGs-?CE=SsQK9">tailFramesLength</field>
</block>
</value>
<value name="B">
<block type="math_number" id="Y@({PaitQ)vTdr(yn0-_">
<field name="NUM">0.33</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="[9;!?8g;bJ8v:p+4ZmS*">
<value name="Colours">
<block type="colour_picker" id="x28TpvV*el(oAZsnv5iA">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id=":%Yo2oVs*wa;GbVd6_qA">
<field name="NUM">10</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="(M$)2)gUsiO98p1JGxar">
<field name="NUM">0.5</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id="-^Ldw+*N@y#R|GL/IAZF">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="BabylonMesh">
<block type="variables_get" id="W/,Rf{E;N$RJu5loG@0h">
<field name="VAR" id=".c3t!|_N~OFn4h@v1N(v">linesMesh3</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="controls_if" id="*|crP8pa_eHk{g=!mGwl">
<value name="IF0">
<block type="lists_getIndex" id="9foG:N8SIxqJ5G:9bkEW">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="!M*{*5#Ba9x._}AluQho">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="AT">
<block type="math_number" id="Nucqr)Dk{gc)GuB5Kq)=">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="variables_set" id="Aqq6v;t=YvZ}e`A~W}w|">
<field name="VAR" id="HaI?Ay.oZNqjH(:sLd[a">linesMesh2</field>
<value name="VALUE">
<block type="bitbybit.draw.drawAny" id="lF/qyMuI=VKbw`6-PXp_">
<value name="Entity">
<block type="lists_getIndex" id="K4M|+V65?r3$STj?inC9">
<mutation statement="false" at="true">
</mutation>
<field name="MODE">GET</field>
<field name="WHERE">FROM_START</field>
<value name="VALUE">
<block type="variables_get" id="Y33_DMOk)gb?kI~Jw_e%">
<field name="VAR" id="tu2Wn;tRH##F1Gf[rSga">tailPolylines</field>
</block>
</value>
<value name="AT">
<block type="math_number" id="?:/3%QFH.ui4(X9JE1EQ">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="k*#Nf`|o,HKA5{HWXKk1">
<value name="Colours">
<block type="colour_picker" id="sUx1U5qwXCI].)PbY]2o">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="hL=1-,?JxISyKFtdWhr^">
<field name="NUM">10</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="LC7WQm1o=0O-Xuh`W7k6">
<field name="NUM">0.2</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id="5O;6y;_cG*D-jH6o2%/-">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="BabylonMesh">
<block type="variables_get" id="-T/Kf20CyOH]mh@/Mciu">
<field name="VAR" id="HaI?Ay.oZNqjH(:sLd[a">linesMesh2</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="variables_set" id="$D-/R}Tg9$WW`zi-mUy2">
<field name="VAR" id="V#d9rRJJUTRCl?no)|68">linesMesh</field>
<value name="VALUE">
<block type="bitbybit.draw.drawAny" id="1|c:DKY#kSkU2bndUrxm">
<value name="Entity">
<block type="variables_get" id="kjMKVyl^1QOul89V0Qg`">
<field name="VAR" id="je2p()I,OS;Nvy*e`BRy">gridPolylines</field>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="mlxBWID?pO%?@5QmQRv-">
<value name="Colours">
<block type="colour_picker" id=";[HDdvrDK?$2OV6{S*K:">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="e7?0Dq$q|dUs*M:ZqY-%">
<field name="NUM">10</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="(eeu3AWia4zbCWMDH6DU">
<field name="NUM">1</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id=".VebQVP%j6h;.MD{J6No">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
<value name="BabylonMesh">
<block type="variables_get" id="A#,I;nCNoJX}dhK@7}x;">
<field name="VAR" id="V#d9rRJJUTRCl?no)|68">linesMesh</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>