Java StarLogo 2.0 english `turtle` breeds [low middle high] ;die einzelenen Typen, welche von den Turtles angenommen können turtles-own [speed trySpeed SpeedLimit] ; Die Eigenschaften der Turtles to setup-cars ; hier findet das Setup der simulation statt if breed = low [ setxy (random (screen-width)) -1 toLow setshape 7] if breed = middle [ setxy (random (screen-width)) 3 toMiddle setshape 7] if breed = high [ setxy (random(screen-width)) 7 toHigh setshape 7] end to drive ; Hauptfunktion der Simulation if breed = low ;Aufgabe der Turtles mit breed = Low --> unterste Spur [check-place crash if ycor != -1 [checkBreed] if speed > 0.04 [ moveup setbreed middle stop] ifelse (count-turtles-at 1 0) > 0 [ifelse (speed >= speed-of one-of-turtles-at 1 0) [setbreed middle moveup if speed > trySpeed [setspeed trySpeed] stop] [ifelse (count-turtles-at 2 0) > 0 [ifelse (speed > speed-of one-of-turtles-at 2 0) [setbreed middle moveup accelerate ] [decelerate] ] [if speed > trySpeed [setspeed trySpeed accelerate] ] ] ] [if speed > trySpeed [setspeed trySpeed accelerate]] if speed < 0.01 [setspeed 0.01] ;Mindestgeschwindigkeit jump speed ] if breed = middle ;Aufgabe der Turtles mit breed = middle --> mittleren Spur [check-place crash if ycor != 3 [checkBreed] if speed < 0.03 [setbreed low movedown stop] if speed > 0.07 [setbreed high moveup stop] ifelse (count-turtles-at 1 0) > 0 [ifelse (speed >= speed-of one-of-turtles-at 1 0) [if ycor != 7 [moveup setbreed high if speed > trySpeed [setspeed trySpeed] stop]] [ifelse (count-turtles-at 2 0) > 0 [ifelse (speed > speed-of one-of-turtles-at 1 0) [moveup setbreed high accelerate ] [decelerate ] ] [if speed > trySpeed [setspeed trySpeed accelerate] ] ] ] [if speed > trySpeed [setspeed trySpeed accelerate]] if speed < 0.01 [setspeed 0.01] ;Mindestgeschwindigkeit jump speed] if breed = high ;Aufgabe der Turtles mit breed = high --> obersten Spur [check-place crash if ycor != 7 [checkBreed] if speed < 0.05 [setbreed middle movedown stop] ifelse (count-turtles-at -1 0) > 0 [check-place ifelse (speed <= speed-of one-of-turtles-at -1 0) [setbreed middle movedown if speed > trySpeed [setspeed trySpeed] stop] [ifelse (count-turtles-at -2 0) > 0 [ifelse (speed < speed-of one-of-turtles-at -2 0) [setbreed middle movedown decelerate ] [accelerate ] ] [if speed > trySpeed [setspeed trySpeed accelerate] ] ] ] [if speed > trySpeed [setspeed trySpeed accelerate]] if speed < 0.01 [setspeed 0.01] ;Mindestgeschwindigkeit jump speed] end to accelerate ;Prozedur zum Beschleunigen setspeed (speed + (speedup / 1000)) end to decelerate ;Prozedur zum Bremsen setspeed speed - (slowdown / 1000) end to moveup ;Prozedur zum Wechsel der Spur nach oben lookup fd 5 seth 90 accelerate end to movedown ; Prozedur zum Wechsel der Spur nach oben lookdown fd 5 check-place seth 90 end to lookdown ;Prozedur zur Kontrole der unteren Spur ifelse (count-turtles-at 5 -5) > 0 [;decelerate lookdown] [seth 135] end to lookup ;Prozedur zur Kontrole der oberen Spur ifelse (count-turtles-at 5 5) > 0 [;accelerate lookup] [seth 45] end to check-place ;Prozedur zur Standortüberprüfung --> Vermeiden von Fehlern if (ycor > 7) or (xcor > 38) or (ycor < -1) [setBreed1 ] end to setBreed1 if breed = low [ setxy -39 ((random 3) * 4) - 1 doANewOne] if breed = middle [ setxy -39 ((random 3) * 4) - 1 doANewOne] if breed = high [ setxy -39 ((random 2) * -4) + 7 doANewOne] end to checkBreed ;Prozedur zum Prüfen der zugewiesenen Eigenschaften if ycor = -1 [setbreed low] if ycor = 3 [setbreed middle] if ycor = 7 [setbreed high] end to crash ; Prozedur zur Darstellung eines Unfalls if (count-turtles-at 0 0) > 1 ;wenn Unfall, [seth 45 ;aus der Bahn, fd 1 repeat 5 [ ; blinken, setc yellow wait 0.2 setc orange wait 0.2 ] setc black wait 0.5 setBreed1 ;entfernen ] end to doANewOne ;Prozedur für das kreiiren neuer Autos if ycor = -1 [toLow] if ycor = 3 [toMiddle] if ycor = 7 [toHigh] end to toLow ; Hilfsfunktion für doANewOne setbreed low ; mit entsprechenden Eigenschaften, hier low seth 90 setc random 140 setspeed ((random 3) / 100) + 0.01 settrySpeed 0.03 setSpeedLimit 0.04 end to toMiddle ; Hilfsfunktion für doANewOne setbreed middle ; mit entsprechenden Eigenschaften, hier middle seth 90 setc random 140 setspeed ((random 5) / 100) + 0.02 settrySpeed 0.05 setSpeedLimit 0.07 end to toHigh ; Hilfsfunktion für doANewOne setbreed high ; mit entsprechenden Eigenschaften, hier high seth 90 setc random 140 setspeed ((random 11) / 100) + 0.04 settrySpeed 0.1 setSpeedLimit 0.11 end `observer` to setup ask-turtles [die] create-low number create-middle int (number / 2) create-high int (number / 4) ask-turtles [setup-cars] end `information` For use with the Adventures in Modeling book, by Vanessa Colella, Eric Klopfer, and Mitchel Resnick published by Teachers College Press, 2001. For more information, see Challenge 10: Traffic This project models cars and trucks driving on a highway and swans swimming in a nearby river. Use the buttons "setup", "go", and "stop-it" to control the simulation. The "number" slider controls the initial number of cars on the road. (You will have to setup the simulation again for a change in this slider to take effect.) The "lookahead" slider controls how many spaces ahead each car looks to see if there is open driving room, and "speedup" and "slowdown" control the rates for acceleration and deceleration. The cars in the traffic model follow three very simple rules: If there is a car ahead, then slow down. If there is no car ahead, then speed up. If you see a radar trap, then slow down. In this project there are four breeds: breeds [lefts rights swans police] If you look through the code, you will see that the swimming turtles have breed = swans and the driving turtles in the top lane have breed = lefts (similarly, those in the bottom lane have breed = rights). This project uses breeds to give different behaviors to different groups of turtles. `interface` SLCanvas top-left 5 216 SLSlider top-left 259 12 width-height 190 25 name "Bremsstärke" variable "slowdown" min-value 0 max-value 100 current-value 42 slider-number 2 show-name? true SLSlider top-left 211 12 width-height 188 25 name "Beschleunigung" variable "speedup" min-value 10 max-value 100 current-value 81 slider-number 1 show-name? true SLSlider top-left 162 11 width-height 191 25 name "Autos auf der untersten Spur" variable "number" min-value 0 max-value 7 current-value 6 slider-number 0 show-name? true SLButton turtle-or-observer? observer top-left 92 72 width-height 54 30 name "button2" line-to-run "setup" forever? false button-number 3 show-name? false whichip 17 SLButton turtle-or-observer? turtle top-left 316 69 width-height 55 38 name "drivebutton" line-to-run "drive" forever? true button-number 10 show-name? false whichip 18 `turtle shapes` H4sIAAAAAAAAAO3c2bIkR33A4UJsAgTCeDfGlPG+CEsz0kjyeq64cXDrCwcXkuyx RQQgLIkg7Kt+UD8Ab2FThU73TOp0V3VXZuX2fRHuX3TNqc7Kmpozi8V/ePmdj3/2 4cc/ejp+9P67P3360Tt3Lw737ubXl37146/MPz4d+Mwv/++zv/y/F49fQs8O08v/ /VLY8Ni5r4t1/jWf/dDnbT1/7eds3UeB+//6r74tAAD9eWF+vfbPESX02j+jpVp3 7+vYa/1zn7t2/VuvK/XPYa7riPXzsNe61u97/a3r3nodsdeNdR1rr2/p/AI7DsPn BgAAAAAAAACgBb/63xEV8t8kaAdd+prc12f/++639fth//bf0v6vvd7Y+899v3rb f8p7uUftv6/nIfUaufeXe/+l3Y/c99z+7d/+7d/+7d/+7b/1/efeb+77kXt/e+8/ 935y34/c1597/9fej9j3b+v69q96sZ8ZXvrov3727oen8aHzmEDjQ7l3KORR1Uwd jA8FgI69kP3PIqqqqrp/B+NDAQAAAAAAAKAhL2b/bxFUVVVVVVVVVVVVVVVVVVV1 e4dpINBLP3364Ucf/OQ4PvSFaU6g8aHcO0wvDz1CDzxOF7/u2vMjPuabrj/2+bde 79r7eev1Xvhx40MBoFsvzK9b/oy09c9cude/9c9qt65f+vm99dpzYn+e9ctef+tn tLZ+7K8vbf2t97PC80fjQwEAAAAAAACgFS/Or1v+W42lbv2M1Ndn//bf8/5Tr597 /9a3vvXTfg9R1Tqbeo3Sr8/+7d/+7d/+7d/+999f7ffH/u3f/tNdn/3bv/3n2//W z7C+9a1f9PqfHb768dMPf/zDj58e54d+tsn5oXcvH57rtT9e+/obHKaXrc/imud7 j/OfdenHLn3ell93ude/8f6ZHwqF2vp7R8G/96xi/4cHm+o8enX9/NDeG+vParHX TX0dudfPff9zrP+sLefGuK4cP/8l7X/tfYi1zq17uKS2n3/r7/L8jeaHAgAAcM65 /1/DXv8/h9zrQ89y//rLvT70bOnXX+xfj3uvBwDQvvTzQ1W13279jNzXn2vftd6H 1Gvk3p/927/9738fcu8n133Iff327/l/6FrOybl2Cfdpj/3n/vm3/773f0nOtUu4 Pz38/Oe4D7n3k+s+5L7+c9e01p5rxVrTz3/+fdd6H1KvkXt/9m//9m//e9+H3PvJ dR92uM7PDd+4nx/68w8++PfjENHPXRwieve9H1zskq3n3yr3EM/c629wmF4eekAv WfOAbzn/oV9k16675ppu+cVd8vo33r9VQ0SXfm2n/rXf+/r0yRDNw3Pd+/zcDBFl H+uGiG618S823a+/5s+It/6ZsZb1115HqnVzrP+sLefGuK4cP/8l7X/tfYi1zq17 uKS2n3/r7/L8jTGGiG79u3Ltf9e2f/vP2dzsv+/9AwDtyz3EK/f60LPcv/5yrw89 M0QUAKB2cYaI5pbiv7m4prnZv/3nbG72n3f/z3aPe13CPu3f/u3f/ve6D7n3k+s+ 5L7+XPsu+T5cknPtEu7THvvP/fNv/33v/5Kca5dwf3r4+c9xH3LvJ9d9yH39565p rT3XirVmCT/vNTwHe+y7tvtg//Zv//bf6/5T3Yfc+8l1H3a4zs8PL3347nvv/fDj 4/jQz18eH3r/n12+863n3p9z983hwa879/7+65c+51M9c97Z88+8j33+8euubHj+ 0ued+/pz7r7/i3VfeOX40EuPcvg1595f+ry11lzHnuff6pp7denrl/az8HXrxoeG vybvv0cE3ytuHvN37pm/8j8VP3cd5z7/3I9vXffc97Bb1//U11/540vrn72eSPu+ VjHrn7uOK3/c+hvXP/d79NLxK9e/9ff0a3/v33vda7//xLqupc+/9cdj7W+tT63z yZ+xjt34+VdfT7D+dmnGh97y16KHzt9q6fNjrXOta9Zfe6+u2Uvsn++t61nf+iWs n1qudZeu49yPx1rn1vVvvY5rPz/2c3Ht52+9no2fN8YYH3ov9t+ha7F6X+98+5M+ /G8oue/D6r+7XPvzedz3mUZ6LlL9HfBTXx/734o27v/Wv4OuPT/Zv5FF/je2ZPvP vc+N92FJrP1/6nO3Ptc77f+43sb7cPP133p+pH0f16vt10Hk/Z9T+v5TK+452Pvf 3nL/utjpOT9n8/4Tn5+a/a9s7P1H+vPdVva/svb/cHvZ/7n9xP56+3+usV2938J6 q9zXnfs+5L7eXPvPfZ2578Py59wFzb2v665nydr11n992p6u4y7o5a8/59b7t9/z cJfk+pc+Z/nr71atn3r/t15/LKv38f3/fb6Rv4/ntnrfK+9DK5b234ty9x1nfGju /4Ynd1PLtY9c+10S+7+RuXa93LZef2n7Sc3+0+9/62em/DnZ4/t4ifsv7fexvaX6 fbE0sfZp//b/UEtn//afsqWzf/tP2dLZf1/7XdLrvkP23+e+Q/YfZ/+l3K9br/vW /Zfy3MS+/qXPKe3XTezrr+XPC3vto7T7kHs/e92X3NeX6z7kvp5P+oXhaz96+h8f v/Jv7354HCD6henHzw4Q3eruX277yPvzbj2fmx2ml2cfnEsP+TW/IG79sbVrLV1v LT23/6X7E/HHVw0QpSy5vlfm+l4drrvX+ufW9XsV0I51A0S1rKb62jWflWP9h6S8 Z5fW3bqnpa/Z6xlSHT5x6ceedctn33L+ktbP3/n+jzEHiALAs3r/N7Re99/rv6H2 +m/IS/tudf9r993a/q/ddyv7v3XfrewfAAAAgNrEHSCqqqr6bJ8V47Ny7yfn/mu6 Dw/pYf+XpFgr937X7Dv1tZa+772usdR957i2kva99/5j34e9r7uU+5P7+nLtP/d1 qaqqarrees4le1xzjvWv1cr6W1nf+tavd/1bryPWuqWsv/Y6Uq2baP0vDi9/+MP/ fP/5CaJfnL4g2QTRc7b+L2X8L26SOUwvDz1Bl57SS0/emqf7mvMu/epYc17pvbTH pXsQ6cdNEG1I7u+Rub9X5/5fafpfiwL1MUG09K792mflXj/GdVx7ziUp112z/qXr iPlztfY6c66vZXXpx551y2ffcv6S1s/f+f6PJogCUIre/w3N/u8ebC96/zfl3icx 9j6RsvfJnCaUAgAAABCXCaKqqhqnWz/jISXsK/W+7f/8/ku+D7E/c40W933N/nPe h9Rr3KKFfW/Zf8r7sNe+Y+z/lvuw9/72vI8973/tfch9fbnvQ+7rUlVVzdFbz7lk j2vOsf61Wll/K+tb3/r1rn/rdcRat5T1115HqnUTrf/i8OWPfv7uT47DQ+f/KODm 4aF337n2jOfPO/bJuq9bOn728xd663mxeuv1Lwnv67n7/IzD9HLrQxrr4V76uqXj W7+J5HLr9V/787NwXhfDQ6/9tZRq3aXvgXuvn/o6Yt/3a783bl0/9vf2VOte+3tc qnVr/b24lj8DpFo/9fXcKte6n7qOhe+Tyb+PLny/3v79/IX5NfVfcHI3lGvdva9j rVru+7XXv3X9a8Vaf6tY9yu1XOvmXr+U+77Xc5D6+1fsdc9dx60/Hvv7XuTvc6Ph odRur78TlGbvvxOV4uq/G+70b197sf8r++Rya2P/l9u60vef+t/sSt1/Kf9Wm1ru f7O2/9vOu9Ve+127n73/fwK59x/uI9X3la2fX0uX5L6+Ur+vtNJQ7uux/316Tu7r sv+0XSv3debefyj3de+1zyW595Vr3+f0tt9Q7/sPbf33xOr/PdL+Lzb1+bnVv3/D Q7X+Lsl9fbn23er+t8p9/fafd/+13w/7b2s/re3/Wq3sP5bS978X+y9j/7ltvZ7a 939v6/XUtt9U7L/Pfd/rdd/3et2/577P/ff++17tf+5ZK/afe2u5D6n2Xer92Hu/ 9n/d/dj7/Ny1/8tSn5+7le//S8NLT3/yP//946fH8aFfmuYEHseH3v3zx/Nl3H3v /VUN3Z+/ZO35W9cPv+7W82Ptf/G+rrx/Zz/3/ufvxg6fjA+91rnHfO0vh6XjW9df +rzU61/7bWDp/K2fu2AeH/qpZ+R7P4jaJaWtv1Vr6+e+/6Wtf+31tbZ+7vtf2q// zd+nKl9/8/UWtn5vvR8fmtpOf6aJtn7sv0LWvv5Wra1/7fW1tv61al//2vNTX29p 68e+3tzrd2acxocu/pkh8t/N9/67/hL7t/+LLWSfufafm/3b/6Vu/nz7v9it19f6 9z/7t/+c3Sr1/reeb//2v+XzF9e3/4tdPN/3v6zdyv7t/1JTy33/7N/+LzW13vef mv3b/8Xav6p22vvxobXr/b8NsX/739LUn1/69dm//dv/7Z+fm/3b/5Zu/fzcSt9/ 6vtn//a/pamvv/f9p2b/9r+lWz8/t9z7T71+bvZv/ylbutT7L/3+5r5++7f/nPsH mvXl4cvvP/rg0XF46JefGx56/1V3r/z0uYZ6+fElS18XrrO47r9+98Gu/bqt5w+f DA8995vJ0m82rf742t90b/1Nee3Xb/3NfuX58/DQ0LXPsvOd7/x2z9+qtvWXzr+2 W6Vef+ufMbZ+nvXzrn8/PHTrn2Wc73znt3v+0tfH/rzc6197P5fEvv7Y6+f+POtn XX+chocuaf3Pwta3vvWtb33rW9/61re+9a1vfetbP/3nb2X/9n+ppX/+Vrmvb+v3 p9zf37ayf/vP2c3Xn/m/Xch9ffZv/ym7Ve7rt3/739Ktcl9/6/u/Hx6a+79Fsb71 rW9961vf+ta3vvWtb33rW9/65a+/9fNLvz77t/+e9791/dRKv/+p2b/9b2nv15ea /dv/ltbO/u1/S2tX+P6/Mrz03s/ee+9HT4/jQ7/y4PjQe3ffvNxzls479zmf+vHv /+L5Xvm5m8/fufduPS90w3mH6eXaxzLW49zKt4Gttt6/jT9/X39ofGgo1rN+q73X 3+vXfinrX/29de/vtdbPu7423dDe65W2fuzr2Sr9+g+PD439V5bcf2Uq7K9oxa0P 9Cv395/S1s/9+8/O649rxocuKe3Psnuz/7zNrfX9595f7vuT+/rtf1u3yn39qfe/ eZ2lf6ts/d8y7d/+7d/+7d/+e9y/qqqqVtclua8v9f6W5L5++9/WrXJff+79L2l9 f0vsP29zq3//68aH5v5vN5ZsvX77t/8tza31/W1l//a/pbVrfX8AAADAstb/fcC/ /9j/ltZu6/5Lvz+p92f/9n+puW28/peGF+e5oa+89mh+N1wYHUp3DtNL7l9iKfrQ L+M9z6+oq0aHAgAtWjc6VFXLanist/VVNUrHGKNDAQAAAAAAAIASxBkdqqqqqqqq qqoPNzyW+3rsX1VVVVVVVbXpfvU4OvTx/G4wOpSTw/RSyKMateGxvc+vqEaHAkC3 jA5VrbHhsd7WV9UoHY0OBQAAAAAAAIBWGB2qqqqqqqqqmrLhsdzXY/+qqqqqqqqq Tfdrx9Ghr8/vBqNDOTlML4U8qlEbHtv7/IpqdCgAdMvoUNUaGx7rbX1VjdLR6FAA AAAAAAAAaIXRoaqqqqqqqqopGx7LfT32r6qqqqqqqtp0Xz6ODn1jfjcYHcrJYXop 5FGN2vDY3udXVKNDAaBbRoeq1tjwWG/rq2qUjkaHAgAAAAAAAEArjA5VVVVVVVVV TdnwWO7rsX9VVVVVVVXVpvv14+jQJ/O7wehQTg7TSyGPatSGx/Y+v6IaHQoA3TI6 VLXGhsd6W19Vo3Q0OhQAAAAAAAAAWmF0qKqqqqqqqmrKhsdyX4/9q6qqqqqqqjbd XzuODn1zfjcYHcrJYXop5FGN2vDY3udXVKNDAaBbRoeq1tjwWG/rq2qUjkaHAgAA AAAAAEArjA5VVVVVVVVVTdnwWO7rsX9VVVVVVVXVpvuN4+jQt+Z3g9GhnByml0Ie 1agNj+19fkU1OhQAumV0qGqNDY/1tr6qRulodCgAAAAAAAAAtMLoUFVVVVVVVdWU DY/lvh77V1VVVVVVVW26v34cHfr2/G4wOpSTw/RSyKMateGxvc+vqEaHAkC3jA5V rbHhsd7WV9UoHY0OBQAAAAAAAIBWGB2qqqqqqqqqmrLhsdzXY/+qqqqqqqqqTfc3 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 XbDPdBUPFQAAFQ8V `template` null `settings` patch-size 8 num-shapes 256 screen-half-width 39 screen-half-height 27 interface-window-xcor 35 interface-window-ycor 0 interface-window-size 873 485 output-window-xcor 0 output-window-ycor 0 output-window-width 300 output-window-height 219 info-window-xcor 0 info-window-ycor 0 info-window-width 500 info-window-height 419 control-center-xcor -2 control-center-ycor 122 control-center-width 496 control-center-height 589 turtle-command-center-height 150 observer-command-center-height 150 `string table` H4sIAAAAAAAAAGNgYGAAABzfRCEEAAAAAAAABA== `symbol table` H4sIAAAAAAAAAGNgYGAAABzfRCEEAAAAAAAABA== `double table` H4sIAAAAAAAAAGNgYBCzb6l66L5OpNp+3o7A161yO+yXQPnbuWwLFl/nst85EwRm 2e/R+HqoP0bTfgpUfiVUfCNIV+Ab++PaTDyeu+L2f2AAAwcGKM0BoQ9A+QdEoLRz A4QWgKpzg/DtT0LMdbCEiNs/gNJQcwFyJDQQtAAAAAAAALQ= `list table` H4sIAAAAAAAAAKVTWw6CQAycXR4+FkVRr+AfF+LbM3gFfzyox7CVaaiIhkSSSR8M pZ3tAmgALAMQBBBEZzP6uZiVciKwFrsQm/he/UqtQnhXx4PYSK7V9wjkJBeP+/CI P/gfcSRcbD2rH9z/l5zha49uzjl9Wt0p/pw+TU/1X1qbnuGdZxp/6CG5zQR/849+ 8uQDL3uMctHlVJNC0I185RZSc8tvbpYjNNeCeyU464wS19ypmueXM04TuYo53bsd d7KkVjpbxvlf54nhjGz+llb73AsawUEtNTmir7Hmf7W+7XcnuDN/Me1i39fJ7gL6 vpPjF+SX7sxP3EvjV46fyLf7kJNfkI8n2nxAcNgDAAAAAAPY `bytecodes` H4sIAAAAAAAAAM1Y6XLcRBBuaVfaXe0h2UH2ejFkY4cEAgbMTTiSmEAC5OC+D28k ERtvLLMrx0XxPjwNVPGDp8hTIM30zLSk0cZbLqqyVXZLMz3f19Pdny5ob9/5PYmC OIym25fhr+z3NwCcAmsaJYcH6eEFkD8T//VTU0v/1m0AA+cM/s84m5q+hecm2hof Z8d1MLz03FslfsLaxK+R9zPRryHJ+E/E4WaTAA4LeyMYTabp2SXpZvhDuczwlhGv C8aqmZ7bMn7wbeToKQ6xF/8c53NNglebgVcneG4Bz6rAs2fgNQieV8Br5vB4Pgyw wsnu/SiF+/MhqfgHYVsKlp13yDpTldnrF0rSzpfENWXajEWHpMrHdS1cZxW2kaVs jWcrh0NaZGCSFhF4U5kGxddCK87b6dpsvpOuG+C6Ac51OK82pi7B7LFjxdvAcZf4 pKVZNGgp+DHzv4Y+C2gXyX5OEdx1HHuM4Ppol9Auk/2IdR2c6+v30xAFIrXK1bFe qGON+AjeFRLToJCPNo4/TnxWeT503Fl+KI+W7wmC9WQF32niMzweH/M9Q9atpbhL iCskJ+pwNl9TNvYUX+s7GhmfI9p6MIe2zs+hradJ7M+Q2EXfXyA9YCuMkraeJTjP 5TXKxjb0vVTCeR7tC6SnXyR4f+DYJuF7Ce3LaF/RaHSN5OdVkp9BhV5f4/Gy49cJ 1xsV2n2T+FzUa1f0TU7Db6F9m+z3HY2G3yX4l9BeRntFr2HtvrZIHU6q4fdITFcr NPU+8fnghBq+RrCuV/B9SHw+mkPDH5N1NzQavon2lkbDt2do+BOi4X/n0PCnc2j4 MxL75xoNf3FMDX+J9ivSi1+THB+V42c+3xD+b9F+h/Z70psrhfvlD/q42NyPBPOn Cs39THy2j3G/HKG9Q/YXaLQWEtwI7S9o75L9LBXulzv6/ej0lKtrsTd1vb9LYvq1 ovf3iM/4hFq7R7D2K/hi4nMwh9Z+I+smGq2J57BEo7XDktb4Y6oJzigIonE0GSVp zUqPtkA4DfKKYOIrgjivcU6GWQMnjE6AaWgw62Dfi+9H7LVoQeGxvDVL+OB3JD74 /XJ+GaYFzQwzjI/2NagNPapWycjCUG1ojuN4D1GXyihi31JLJukRk29H9lVd5SJj EP3gchHYGRPLyf/J04R2sBMFexsH41GQFXRFcckLLzBwwyfE2bl3mviYrGmzsbyQ HRV8rjlb0ErfKbcmURRuQnavUbRDQivuEwuqGpLOlvsyPBFGnfeYfJ3rlugVvqXB V6+ECr9J8Ftz4DsafHGd6BD8LsHvcd3NwOfpc8BhdWMJBPYcrS3bcqEHDH49lrHS 8hV9axW+dY2vlfPlMbbBCiajaXoLgE21jWO18DrkWhZplfTFl4uuKpvvydKB68jS qfEWH2chkldYOd/m8zO7tgOtML5yKzq6vZ+J5fxDsi5E0CvB5d/6i/7uDH9T4++V /Hm4XbCS+EZ8xDNarIB8mDdIllFYMiu13HeX7CKuxAMq+4uGyr7IvBwj2ZYX/R40 k/jmbhiOo0cwOhfsJL6+e3fnEYzNg97WYZLE+xeHQ/E10crd0/BnZZcd5YufrDLM XPOYagVrHlus/Q/q7e1dxhQAAAAAFMY= `observer world` H4sIAAAAAAAAAGMQSMhPKk4tKkstUiguSSxJTXBggAMrBq6CnPyS8syU9NQSIJ+F gS0nNS+9JAPI5mBgB8kVpOaBlXKDNSPJQgAjCAMA+OWZc2QAAAAAAABk `patch world` H4sIAAAAAAAAAIXa3Wrj6ZreYSUMiUgIaMMbgmhDCKMYIYTlb9mWJdu1XP6qcnU3 ZHuGlcVMYJhZJAuS7OnQfEg5hKz5eN6eUfr+XwVFVfVV9/vYO+0fhXv/6S//+Fd/ +v3fjP/nn/7qT3/4y22v/fivvb/437//+//xj7//D3/827//0//67//tr//wpz// adT7t3/8/Z9/HfT+3d/+4e/++k9/8+ffj3v//h/+zh//8Hd//sOw9xf/55+m/d5/ /MeH/8Xf6/X+y59//ud/eHbzf//pVP36L378m3/4WR9N9D58AD+AD+Ej+Bg+gR/C p/Aj+Aw+hy/gx/Al/AR+Cj+Dn8Mv4JfwK/gKfg2/gd/C1/A7+Aa+le+6/R77e+wf sH/A/hH7R+y/YP8F+99h/zvsn7B/wv4r9l+xf8b+GfsX7F+wf8X+Ffs37N+wf8f+ Hftv2H/D/jv237H/wP4D+x/Y/9jC9f5nt/+E+z/h/k+4/xPu/4z7P+P+z7j/M+7/ gvu/4P4vuP9L9/3679v/j/9130XvwwfwA/gQPoKP4RP4IXwKP4LP4HP4An4MX8JP 4KfwM/g5/AJ+Cb+Cr+DX8Bv4LXwNv4Nv4Fv5rtvvsb/H/gH7B+wfsX/E/gv2X7D/ Hfa/w/4J+yfsv2L/Fftn7J+xf8H+BftX7F+xf8P+Dft37N+x/4b9N+y/Y/8d+w/s P7D/gf0/9112vf/Z7T/h/k+4/xPu/4T7P+P+z7j/M+7/jPu/4P4vuP8L7v/Sfb/1 XT/se/A+fAA/gA/hI/gYPoEfwqfwI/gMPocv4MfwJfwEfgo/g5/DL+CX8Cv4Cn4N v4HfwtfwO/gGvpXvur36Ljr21XfRsa++i4599V107KvvomNffRcd++q76NhX30XH vvouOvbVd9Gxr76Ljn31XXTsq++iY199Fx376rvo2FffRd/C9f5nt1ffRcf96rvo uF99Fx33q++i4371XXTcr76L3n2/9d0g7HvwPnwAP4AP4SP4GD6BH8Kn8CP4DD6H L+DH8CX8BH4KP4Ofwy/gl/Ar+Ap+Db+B38LX8Dv4Br6V77q9+i469tV30bGvvouO ffVddOyr76JjX30XHfvqu+jYV99Fx776Ljr21XfRsa++i4599V107KvvomNffRcd ++q76NhX30XfwvX+Z7dX30XH/eq76LhffRcd96vvouN+9V103K++i959v/XdQdj3 4H34AH4AH8JH8DF8Aj+ET+FH8Bl8Dl/Aj+FL+An8FH4GP4dfwC/hV/AV/Bp+A7+F r+F38A18K991e/VddOyr76JjX30XHfvqu+jYV99Fx776Ljr21XfRsa++i4599V10 7KvvomNffRcd++q76NhX30XHvvouOvbVd9Gxr76LvoXr/c9ur76LjvvVd9Fxv/ou Ou5X30XH/eq76LhffRe9+37ru2HY9+B9+AB+AB/CR/AxfAI/hE/hR/AZfA5fwI/h S/gJ/BR+Bj+HX8Av4VfwFfwafgO/ha/hd/ANfCvfdXv1XXTsq++iY199Fx376rvo 2FffRce++i469tV30bGvvouOffVddOyr76JjX30XHfvqu+jYV99Fx776Ljr21XfR sa++i76F6/3Pbq++i4771XfRcb/6LjruV99Fx/3qu+i4X30Xvft+67tR2PfgffgA fgAfwkfwMXwCP4RP4UfwGXwOX8CP4Uv4CfwUfgY/h1/AL+FX8BX8Gn4Dv4Wv4Xfw DXwr33V79V107KvvomNffRcd++q76NhX30XHvvouOvbVd9Gxr76Ljn31XXTsq++i Y199Fx376rvo2FffRce++i469tV30bGvvou+hev9z26vvouO+9V30XG/+i467lff Rcf96rvouF99F737fuu7cdj34H34AH4AH8JH8DF8Aj+ET+FH8Bl8Dl/Aj+FL+An8 FH4GP4dfwC/hV/AV/Bp+A7+Fr+F38A18K991e/VddOyr76JjX30XHfvqu+jYV99F x776Ljr21XfRsa++i4599V107KvvomNffRcd++q76NhX30XHvvouOvbVd9Gxr76L voXr/c9ur76LjvvVd9Fxv/ouOu5X30XH/eq76LhffRe9+37ru0nY9+B9+AB+AB/C R/AxfAI/hE/hR/AZfA5fwI/hS/gJ/BR+Bj+HX8Av4VfwFfwafgO/ha/hd/ANfCvf dXv1XXTsq++iY199Fx376rvo2FffRce++i469tV30bGvvouOffVddOyr76JjX30X Hfvqu+jYV99Fx776Ljr21XfRsa++i76F6/3Pbq++i4771XfRcb/6LjruV99Fx/3q u+i4X30Xvft+67vDsO/B+/AB/AA+hI/gY/gEfgifwo/gM/gcvoAfw5fwE/gp/Ax+ Dr+AX8Kv4Cv4NfwGfgtfw+/gG/hWvuv26rvo2FffRce++i469tV30bGvvouOffVd dOyr76JjX30XHfvqu+jYV99Fx776Ljr21XfRsa++i4599V107KvvomNffRd9C9f7 n91efRcd96vvouN+9V103K++i4771XfRcb/6Lnr3/dZ307DvwfvwAfwAPoSP4GP4 BH4In8KP4DP4HL6AH8OX8BP4KfwMfg6/gF/Cr+Ar+DX8Bn4LX8Pv4Bv4Vr7r9uq7 6NhX30XHvvouOvbVd9Gxr76Ljn31XXTsq++iY199Fx376rvo2FffRce++i469tV3 0bGvvouOffVddOyr76JjX30XfQvX+5/dXn0XHfer76LjfvVddNyvvouO+9V30XG/ +i569/3Wd0dh34P34QP4AXwIH8HH8An8ED6FH8Fn8Dl8AT+GL+En8FP4GfwcfgG/ hF/BV/Br+A38Fr6G38E38K181+3Vd9Gxr76Ljn31XXTsq++iY199Fx376rvo2Fff Rce++i469tV30bGvvouOffVddOyr76JjX30XHfvqu+jYV99Fx776LvoWrvc/u736 LjruV99Fx/3qu+i4X30XHfer76LjfvVd9O77re9mYd+D9+ED+AF8CB/Bx/AJ/BA+ hR/BZ/A5fAE/hi/hJ/BT+Bn8HH4Bv4RfwVfwa/gN/Ba+ht/BN/CtfNft1XfRsa++ i4599V107KvvomNffRcd++q76NhX30XHvvouOvbVd9Gxr76Ljn31XXTsq++iY199 Fx376rvo2FffRce++i76Fq73P7u9+i467lffRcf96rvouF99Fx33q++i4371XfTu +63v5mHfg/fhA/gBfAgfwcfwCfwQPoUfwWfwOXwBP4Yv4SfwU/gZ/Bx+Ab+EX8FX 8Gv4DfwWvobfwTfwrXzX7dV30bGvvouOffVddOyr76JjX30XHfvqu+jYV99Fx776 Ljr21XfRsa++i4599V107KvvomNffRcd++q76NhX30XHvvou+hau9z+7vfouOu5X 30XH/eq76LhffRcd96vvouN+9V307vut7xZh34P34QP4AXwIH8HH8An8ED6FH8Fn 8Dl8AT+GL+En8FP4GfwcfgG/hF/BV/Br+A38Fr6G38E38K181+3Vd9Gxr76Ljn31 XXTsq++iY199Fx376rvo2FffRce++i469tV30bGvvouOffVddOyr76JjX30XHfvq u+jYV99Fx776LvoWrvc/u736LjruV99Fx/3qu+i4X30XHfer76LjfvVd9O77re+O w74H78MH8AP4ED6Cj+ET+CF8Cj+Cz+Bz+AJ+DF/CT+Cn8DP4OfwCfgm/gq/g1/Ab +C18Db+Db+Bb+a7bq++iY199Fx376rvo2FffRce++i469tV30bGvvouOffVddOyr 76JjX30XHfvqu+jYV99Fx776Ljr21XfRsa++i4599V30LVzvf3Z79V103K++i477 1XfRcb/6LjruV99Fx/3qu+jd91vfLcO+B+/DB/AD+BA+go/hE/ghfAo/gs/gc/gC fgxfwk/gp/Az+Dn8An4Jv4Kv4NfwG/gtfA2/g2/gW/mu26vvomNffRcd++q76NhX 30XHvvouOvbVd9Gxr76Ljn31XXTsq++iY199Fx376rvo2FffRce++i469tV30bGv vouOffVd9C1c7392e/VddNyvvouO+9V30XG/+i467lffRcf96rvo3fdb352EfQ/e hw/gB/AhfAQfwyfwQ/gUfgSfwefwBfwYvoSfwE/hZ/Bz+AX8En4FX8Gv4TfwW/ga fgffwLfyXbdX30XHvvouOvbVd9Gxr76Ljn31XXTsq++iY199Fx376rvo2FffRce+ +i469tV30bGvvouOffVddOyr76JjX30XHfvqu+hbuN7/7Pbqu+i4X30XHfer76Lj fvVddNyvvouO+9V30bvvt76rr9MHe/sevA8fwA/gQ/gIPoZP4IfwKfwIPoPP4Qv4 MXwJP4Gfws/g5/AL+CX8Cr6CX8Nv4LfwNfwOvoFv5btuv8f+HvsH7B+wf8T+Efsv 2H/BvvouOvZP2D9h/xX7r9g/Y/+M/Qv2L9i/Yv+K/Rv2b9i/Y/+O/Tfsv2H/Hfvv 2H9g/4H9D+yr76Lr/c9ur76LjvvVd9Fxv/ouOu5X30XH/eq76LhffRe9+37ru7Ow 78H78AH8AD6Ej+Bj+AR+CJ/Cj+Az+By+gB/Dl/AT+Cn8DH4Ov4Bfwq/gK/g1/AZ+ C1/D7+Ab+Fa+6/Z77O+xf8D+AftH7B+x/4L9F+yr76Jj/4T9E/Zfsf+K/TP2z9i/ YP+C/Sv2r9i/Yf+G/Tv279h/w/4b9t+x/479B/Yf2P/Avvouut7/7Pbqu+i4X30X Hfer76LjfvVddNyvvouO+9V30bvvt747D/sevA8fwA/gQ/gIPoZP4IfwKfwIPoPP 4Qv4MXwJP4Gfws/g5/AL+CX8Cr6CX8Nv4LfwNfwOvoFv5btuv8f+HvsH7B+wf8T+ Efsv2H/BvvouOvZP2D9h/xX7r9g/Y/+M/Qv2L9i/Yv+K/Rv2b9i/Y/+O/Tfsv2H/ Hfvv2H9g/4H9D+yr76Lr/c9ur76LjvvVd9Fxv/ouOu5X30XH/eq76LhffRe9+37r u4uw78H78AH8AD6Ej+Bj+AR+CJ/Cj+Az+By+gB/Dl/AT+Cn8DH4Ov4Bfwq/gK/g1 /AZ+C1/D7+Ab+Fa+6/Z77O+xf8D+AftH7B+x/4L9F+yr76Jj/4T9E/Zfsf+K/TP2 z9i/YP+C/Sv2r9i/Yf+G/Tv279h/w/4b9t+x/479B/Yf2P/Avvouut7/7Pbqu+i4 X30XHfer76LjfvVddNyvvouO+9V30bvvt76rr5P//P+btu/B+/DBnqe+S/shfAQf wyd7nvou+XTP998/gs/gc/hiz1PfJV/u+f77J/BT+Bn8fM9T3yW/3PP996/gK/g1 /GbPU98lX+/5/vt38A18K991f3z3Pfjefv/9hx4c+0fsH/f2qe+i4371XXTsn7B/ 2tunvouO+889OPYv2L/s7VPfpf3rrtvfsH/D/h3797196rvouP+9B8f+A/uPvX3q u+jb7ver76J/dnv1XfS9+6nvouN+9V10fP7Vd9H37qe+i4771XfRuz//1nf1dTD9 +13yPnwAP4AP4SP4GD6BH8Kn8CP4DD6HL+DH8CX8BH4KP4Ofwy/gl/Ar+Ap+Db+B 38LX8Dv4Br6V77r9Hvt77B+wf8D+EftH7L9g/wX76rvo2D9h/4T9V+y/Yv+M/TP2 L9i/YP+K/Sv2b9i/Yf+O/Tv237D/hv137L9j/4H9B/Y/sK++i673P7u9+i467lff Rcf96rvouF99Fx33q++i4371XfTu+63vVmHfg/fhA/gBfAgfwcfwCfwQPoUfwWfw OXwBP4Yv4SfwU/gZ/Bx+Ab+EX8FX8Gv4DfwWvobfwTfwrXzX7ffY32P/gP0D9o/Y P2L/Bfsv2FffRcf+Cfsn7L9i/xX7Z+yfsX/B/gX7V+xfsX/D/g37d+zfsf+G/Tfs v2P/HfsP7D+w/4F99V10vf/Z7dV30XG/+i467lffRcf96rvouF99Fx33q++id99v fXcd9j14Hz6AH8CH8BF8DJ/AD+FT+BF8Bp/DF/Bj+BJ+Aj+Fn8HP4RfwS/gVfAW/ ht/Ab+Fr+B18A9/Kd91+j/099g/YP2D/iP0j9l+w/4J99V107J+wf8L+K/ZfsX/G /hn7F+xfsH/F/hX7N+zfsH/H/h37b9h/w/479t+x/8D+A/sf2FffRdf7n91efRcd 96vvouN+9V103K++i4771XfRcb/6Lnr3/dZ39XUqff9d8j58sOep79J+CB/Bx/DJ nqe+Sz7d8/T9d8ln8Dl8seep75Iv9zx9/13yU/gZ/HzPU98lv9zz9P13yVfwa/jN nqe+S77e8/T9d8k38K181/3x3ffge/v0/XfRsX/E/nFvn/ouOu5X30XH/gn7p719 6rvouP/cg2P/gv3L3j71XXTcf+vBsX/H/n1vn/ouOu5/78Gx/8D+Y2+f+i76tvv9 6rvon91efRd9737qu+i4X30XHZ9/9V30vfup76LjfvVd9O7Pv/VdfR1K/36XvA8f wA/gQ/gIPoZP4IfwKfwIPoPP4Qv4MXwJP4Gfws/g5/AL+CX8Cr6CX8Nv4LfwNfwO voFv5btuv8f+HvsH7B+wf8T+Efsv2H/BvvouOvZP2D9h/xX7r9g/Y/+M/Qv2L9i/ Yv+K/Rv2b9i/Y/+O/Tfsv2H/Hfvv2H9g/4H9D+yr76Lr/c9ur76LjvvVd9Fxv/ou Ou5X30XH/eq76LhffRe9+37ru3XY9+B9+AB+AB/CR/AxfAI/hE/hR/AZfA5fwI/h S/gJ/BR+Bj+HX8Av4VfwFfwafgO/ha/hd/ANfCvfdfs99vfYP2D/gP0j9o/Yf8H+ C/bVd9Gxf8L+Cfuv2H/F/hn7Z+xfsH/B/hX7V+zfsH/D/h37d+y/Yf8N++/Yf8f+ A/sP7H9gX30XXe9/dnv1XXTcr76LjvvVd9Fxv/ouOu5X30XH/eq76N33W9/dhX0P 3ocP4AfwIXwEH8Mn8EP4FH4En8Hn8AX8GL6En8BP4Wfwc/gF/BJ+BV/Br+E38Fv4 Gn4H38C38l2332N/j/0D9g/YP2L/iP0X7L9gX30XHfsn7J+w/4r9V+yfsX/G/gX7 F+xfsX/F/g37N+zfsX/H/hv237D/jv137D+w/8D+B/bVd9H1/me3V99Fx/3qu+i4 X30XHfer76LjfvVddNyvvovefb/13Sbse/A+fAA/gA/hI/gYPoEfwqfwI/gMPocv 4MfwJfwEfgo/g5/DL+CX8Cv4Cn4Nv4HfwtfwO/gGvpXvuv0e+3vsH7B/wP4R+0fs v2D/Bfvqu+jYP2H/hP1X7L9i/4z9M/Yv2L9g/4r9K/Zv2L9h/479O/bfsP+G/Xfs v2P/gf0H9j+wr76Lrvc/u736LjruV99Fx/3qu+i4X30XHfer76LjfvVd9O77re+2 vf0f/7rvkvfhA/gBfAgfwcfwCfwQPoUfwWfwOXwBP4Yv4SfwU/gZ/Bx+Ab+EX8FX 8Gv4DfwWvobfwTfwrXzX7dV30bGvvouOffVddOyr76JjX30XHfvqu+jYV99Fx776 Ljr21XfRsa++i4599V107KvvomNffRcd++q76NhX30XHvvou+hau9z+7vfouOu5X 30XH/eq76LhffRcd96vvouN+9V307vu/9t3ut/c9eB8+gB/Ah/ARfAyfwA/hU/gR fAafwxfwY/gSfgI/hZ/Bz+EX8Ev4FXwFv4bfwG/ha/gdfAPfynfd3vouOfat75Jj 3/ouOfat75Jj3/ouOfat75Jj3/ouOfat75Jj3/ouOfat75Jj3/ouOfat75Jj3/ou Ofat75Jj3/ouOfat75Jv4Xr/s9tb3yXH/dZ3yXG/9V1y3G99lxz3W98lx/3Wd8m7 77e+u9/nvb5L3ocP4AfwIXwEH8Mn8EP4FH4En8Hn8AX8GL6En8BP4Wfwc/gF/BJ+ BV/Br+E38Fv4Gn4H38C38l23V99Fx776Ljr21XfRsa++i4599V107KvvomNffRcd ++q76NhX30XHvvouOvbVd9Gxr76Ljn31XXTsq++iY199Fx376rvoW7je/+z26rvo uF99Fx33q++i4371XXTcr76LjvvVd9G77//ad7vf3vfgffgAfgAfwkfwMXwCP4RP 4UfwGXwOX8CP4Uv4CfwUfgY/h1/AL+FX8BX8Gn4Dv4Wv4XfwDXwr33V767vk2Le+ S45967vk2Le+S45967vk2Le+S45967vk2Le+S45967vk2Le+S45967vk2Le+S459 67vk2Le+S45967vk2Le+S76F6/3Pbm99lxz3W98lx/3Wd8lxv/VdctxvfZcc91vf Je++3/ruYZ/3+i55Hz6AH8CH8BF8DJ/AD+FT+BF8Bp/DF/Bj+BJ+Aj+Fn8HP4Rfw S/gVfAW/ht/Ab+Fr+B18A9/Kd91efRcd++q76NhX30XHvvouOvbVd9Gxr76Ljn31 XXTsq++iY199Fx376rvo2FffRce++i469tV30bGvvouOffVddOyr76Jv4Xr/s9ur 76LjfvVddNyvvouO+9V30XG/+i467lffRe++/2vf7X5734P34QP4AXwIH8HH8An8 ED6FH8Fn8Dl8AT+GL+En8FP4GfwcfgG/hF/BV/Br+A38Fr6G38E38K181+2t75Jj 3/ouOfat75Jj3/ouOfat75Jj3/ouOfat75Jj3/ouOfat75Jj3/ouOfat75Jj3/ou Ofat75Jj3/ouOfat75Jj3/ou+Rau9z+7vfVdctxvfZcc91vfJcf91nfJcb/1XXLc b32XvPt+67vHfd7ru+R9+AB+AB/CR/AxfAI/hE/hR/AZfA5fwI/hS/gJ/BR+Bj+H X8Av4VfwFfwafgO/ha/hd/ANfCvfdXv1XXTsq++iY199Fx376rvo2FffRce++i46 9tV30bGvvouOffVddOyr76JjX30XHfvqu+jYV99Fx776Ljr21XfRsa++i76F6/3P bq++i4771XfRcb/6LjruV99Fx/3qu+i4X30Xvfv+r323++19D96HD+AH8CF8BB/D J/BD+BR+BJ/B5/AF/Bi+hJ/AT+Fn8HP4BfwSfgVfwa/hN/Bb+Bp+B9/At/Jdt7e+ S45967vk2Le+S45967vk2Le+S45967vk2Le+S45967vk2Le+S45967vk2Le+S459 67vk2Le+S45967vk2Le+S45967vkW7je/+z21nfJcb/1XXLcb32XHPdb3yXH/dZ3 yXG/9V3y7vut777s817fJe/DB/AD+BA+go/hE/ghfAo/gs/gc/gCfgxfwk/gp/Az +Dn8An4Jv4Kv4NfwG/gtfA2/g2/gW/mu26vvomNffRcd++q76NhX30XHvvouOvbV d9Gxr76Ljn31XXTsq++iY199Fx376rvo2FffRce++i469tV30bGvvouOffVd9C1c 7392e/VddNyvvouO+9V30XG/+i467lffRcf96rvo3fd/7bvdb+978D58AD+AD+Ej +Bg+gR/Cp/Aj+Aw+hy/gx/Al/AR+Cj+Dn8Mv4JfwK/gKfg2/gd/C1/A7+Aa+le+6 vfVdcuxb3yXHvvVdcuxb3yXHvvVdcuxb3yXHvvVdcuxb3yXHvvVdcuxb3yXHvvVd cuxb3yXHvvVdcuxb3yXHvvVdcuxb3yXfwvX+Z7e3vkuO+63vkuN+67vkuN/6Ljnu t75Ljvut75J3329997t93uu75H34AH4AH8JH8DF8Aj+ET+FH8Bl8Dl/Aj+FL+An8 FH4GP4dfwC/hV/AV/Bp+A7+Fr+F38A18K991e/VddOyr76JjX30XHfvqu+jYV99F x776Ljr21XfRsa++i4599V107KvvomNffRcd++q76NhX30XHvvouOvbVd9Gxr76L voXr/c9ur76LjvvVd9Fxv/ouOu5X30XH/eq76LhffRe9+/6vfbf77X0P3ocP4Afw IXwEH8Mn8EP4FH4En8Hn8AX8GL6En8BP4Wfwc/gF/BJ+BV/Br+E38Fv4Gn4H38C3 8l23t75Ljn3ru+TYt75Ljn3ru+TYt75Ljn3ru+TYt75Ljn3ru+TYt75Ljn3ru+TY t75Ljn3ru+TYt75Ljn3ru+TYt75Ljn3ru+RbuN7/7PbWd8lxv/VdctxvfZcc91vf Jcf91nfJcb/1XfLu+63vnvZ5r++S9+ED+AF8CB/Bx/AJ/BA+hR/BZ/A5fAE/hi/h J/BT+Bn8HH4Bv4RfwVfwa/gN/Ba+ht/BN/CtfNft1XfRsa++i4599V107KvvomNf fRcd++q76NhX30XHvvouOvbVd9Gxr76Ljn31XXTsq++iY199Fx376rvo2FffRce+ +i76Fq73P7u9+i467lffRcf96rvouF99Fx33q++i4371XfTu+7/23e639z14Hz6A H8CH8BF8DJ/AD+FT+BF8Bp/DF/Bj+BJ+Aj+Fn8HP4RfwS/gVfAW/ht/Ab+Fr+B18 A9/Kd93e+i459q3vkmPf+i459q3vkmPf+i459q3vkmPf+i459q3vkmPf+i459q3v kmPf+i459q3vkmPf+i459q3vkmPf+i459q3vkm/hev+z21vfJcf91nfJcb/1XXLc b32XHPdb3yXH/dZ3ybvvt777us97fZe8Dx/AD+BD+Ag+hk/gh/Ap/Ag+g8/hC/gx fAk/gZ/Cz+Dn8Av4JfwKvoJfw2/gt/A1/A6+gW/lu26vvouOffVddOyr76JjX30X Hfvqu+jYV99Fx776Ljr21XfRsa++i4599V107KvvomNffRcd++q76NhX30XHvvou OvbVd9G3cL3/2e3Vd9Fxv/ouOu5X30XH/eq76LhffRcd96vvonff/7Xvdr+978H7 8AH8AD6Ej+Bj+AR+CJ/Cj+Az+By+gB/Dl/AT+Cn8DH4Ov4Bfwq/gK/g1/AZ+C1/D 7+Ab+Fa+6/bWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mx b32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XfAvX+5/d3vouOe63vkuO+63v kuN+67vkuN/6Ljnut75L3n2/9d3zPu/1XfI+fAA/gA/hI/gYPoEfwqfwI/gMPocv 4MfwJfwEfgo/g5/DL+CX8Cv4Cn4Nv4HfwtfwO/gGvpXvur36Ljr21XfRsa++i459 9V107KvvomNffRcd++q76NhX30XHvvouOvbVd9Gxr76Ljn31XXTsq++iY199Fx37 6rvo2FffRd/C9f5nt1ffRcf96rvouF99Fx33q++i4371XXTcr76L3n3/177b/fa+ B+/DB/AD+BA+go/hE/ghfAo/gs/gc/gCfgxfwk/gp/Az+Dn8An4Jv4Kv4NfwG/gt fA2/g2/gW/mu21vfJce+9V1y7FvfJce+9V1y7FvfJce+9V1y7FvfJce+9V1y7Fvf Jce+9V1y7FvfJce+9V1y7FvfJce+9V1y7FvfJce+9V3yLVzvf3Z767vkuN/6Ljnu t75Ljvut75Ljfuu75Ljf+i559/3Wdy/7vNd3yfvwAfwAPoSP4GP4BH4In8KP4DP4 HL6AH8OX8BP4KfwMfg6/gF/Cr+Ar+DX8Bn4LX8Pv4Bv4Vr7r9uq76NhX30XHvvou OvbVd9Gxr76Ljn31XXTsq++iY199Fx376rvo2FffRce++i469tV30bGvvouOffVd dOyr76JjX30XfQvX+5/dXn0XHfer76LjfvVddNyvvouO+9V30XG/+i569/1f+273 2/sevA8fwA/gQ/gIPoZP4IfwKfwIPoPP4Qv4MXwJP4Gfws/g5/AL+CX8Cr6CX8Nv 4LfwNfwOvoFv5btub32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mx b32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8m3cL3/2e2t75Ljfuu7 5Ljf+i457re+S477re+S437ru+Td91vfve7zXt8l78MH8AP4ED6Cj+ET+CF8Cj+C z+Bz+AJ+DF/CT+Cn8DP4OfwCfgm/gq/g1/Ab+C18Db+Db+Bb+a7bq++iY199Fx37 6rvo2FffRce++i469tV30bGvvouOffVddOyr76JjX30XHfvqu+jYV99Fx776Ljr2 1XfRsa++i4599V30LVzvf3Z79V103K++i4771XfRcb/6LjruV99Fx/3qu+jd93/t u91v73vwPnwAP4AP4SP4GD6BH8Kn8CP4DD6HL+DH8CX8BH4KP4Ofwy/gl/Ar+Ap+ Db+B38LX8Dv4Br6V77q99V1y7FvfJce+9V1y7FvfJce+9V1y7FvfJce+9V1y7Fvf Jce+9V1y7FvfJce+9V1y7FvfJce+9V1y7FvfJce+9V1y7FvfJd/C9f5nt7e+S477 re+S437ru+S43/ouOe63vkuO+63vknffb333ts97fZe8Dx/AD+BD+Ag+hk/gh/Ap /Ag+g8/hC/gxfAk/gZ/Cz+Dn8Av4JfwKvoJfw2/gt/A1/A6+gW/lu26vvouOffVd dOyr76JjX30XHfvqu+jYV99Fx776Ljr21XfRsa++i4599V107KvvomNffRcd++q7 6NhX30XHvvouOvbVd9G3cL3/2e3Vd9Fxv/ouOu5X30XH/eq76LhffRcd96vvonff /7Xvdr+978H78AH8AD6Ej+Bj+AR+CJ/Cj+Az+By+gB/Dl/AT+Cn8DH4Ov4Bfwq/g K/g1/AZ+C1/D7+Ab+Fa+6/bWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mx b32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XHPvWd8mxb32XfAvX+5/d3vou Oe63vkuO+63vkuN+67vkuN/6Ljnut75L3n3//wEExKIbnR8CAAACH50= `turtle world` H4sIAAAAAAAAAJWSy0vrQBSHT9u0idWr9f2qWq2P+sCFCioijSCIoMhFEATBVjM0 gdiENFIVF924FP8EQffiStwZLlzcudWFKF27cSPIXXkyk5Zyo0ULH3NOZ+bjN4dA dcLcNUyVRDJm0iQJEYq/UwioJJ0yZaznwb9lECJh2QtBXdXMrCKliIn9BPB2r5M0 NqPg39ZUzcAyDNz+Nq2qoJLKi7YpEPC4pGXTOnZj4M/ISZ1gOQTcHrvDgS8razRH ICM7J8eBl0lSUtIpbBoQH17VWSwAwTT2V53OA0FaLik7ih3SSw/7VC1LNwM7iiSp hG5wspKS6TZANzJMcwD0IwNIDBlEapAQfRdAM9KE1CItSDtSh/TR+QBEkR7HF0G6 nJG2IfVO9kaapBDNfjGA334uEnToFOPn98FZ4/LmlQnEtRxbl1kfd/4Hntpsn8fL pPZql7w1/Rh7+3OSEMP/OVYttgqfOnwI52WZqq25f/mFi4YDV45w2RyBkhxV4sjJ Ruztb8jlmM9911FpjVz/fjnq2HM51ss6SudRYYVQ0XmVczmEsm/xlDgEK36L08hv uByL357HLzGychZ9unu4yUdb4HDI+sFMecRO2yE2zern98J7IXvRsSmyFT51eEsc rVZ88njleUZyfR/O5S++j4rC9/EBpK1WgUMEAAAAAARD