-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscratchblocks.js
More file actions
17 lines (15 loc) · 113 KB
/
scratchblocks.js
File metadata and controls
17 lines (15 loc) · 113 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* scratchblocks v3.6.1
* https://scratchblocks.github.io/
* Render scratchblocks code to SVG images.
*
* Copyright 2013–2022, Tim Radvan
* @license MIT
*/
var scratchblocks=function(){"use strict";function e(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,s)}return i}function t(t){for(var i=1;i<arguments.length;i++){var s=null!=arguments[i]?arguments[i]:{};i%2?e(Object(s),!0).forEach((function(e){r(t,e,s[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(s)):e(Object(s)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(s,e))}))}return t}function i(e,t){for(var i=0;i<t.length;i++){var s=t[i];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(e,s.key,s)}}function s(e,t,s){return t&&i(e.prototype,t),s&&i(e,s),Object.defineProperty(e,"prototype",{writable:!1}),e}function r(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function n(){return n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(e[s]=i[s])}return e},n.apply(this,arguments)}function o(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){if(e){if("string"==typeof e)return c(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,s=Array(t);i<t;i++)s[i]=e[i];return s}function l(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=a(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var s=0,r=function(){};return{s:r,n:function(){return s>=e.length?{done:!0}:{done:!1,value:e[s++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,o=!0,c=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return o=e.done,e},e:function(e){c=!0,n=e},f:function(){try{o||null==i.return||i.return()}finally{if(c)throw n}}}}var h={pen:"pen",video:"sensing",music:"sound"},u=t(t({},h),{},{tts:"tts",translate:"translate",microbit:"microbit",wedo:"wedo",makeymakey:"makeymakey",ev3:"ev3",boost:"boost",gdxfor:"gdxfor"}),p={wedo2:"wedo",text2speech:"tts"},f=["motion","looks","sound","variables","list","events","control","sensing","operators","custom","custom-arg","extension","grey","obsolete"].concat(o(Object.keys(u)),o(Object.keys(p))),d=["hat","cap","stack","boolean","reporter","ring","cat"],g=["ar","ckb","fa","he"],y=/%([0-9]+)/,v=/(%[a-zA-Z0-9](?:\.[a-zA-Z0-9]+)?)/,m=RegExp(v.source,"g"),k=/(@[a-zA-Z]+)/,b=RegExp(v.source+"|"+k.source+"| +","g"),w=/^#(?:[0-9a-fA-F]{3}){1,2}?$/;function A(e){var t=y.exec(e);return t?+t[1]:0}function O(e){var t=e.split(b).filter((function(e){return e})),i=t.filter((function(e){return v.test(e)}));return{spec:e,parts:t,inputs:i,hash:S(e)}}function S(e){return L(e.replace(m," _ "))}function L(e){return e.replace(/_/g," _ ").replace(/ +/g," ").replace(/[,%?:]/g,"").replace(/ß/g,"ss").replace(/ä/g,"a").replace(/ö/g,"o").replace(/ü/g,"u").replace(". . .","...").replace(/^…$/,"...").trim().toLowerCase()}var E={},T=[{id:"MOTION_MOVESTEPS",selector:"forward:",spec:"move %1 steps",inputs:["%n"],shape:"stack",category:"motion"},{id:"MOTION_TURNRIGHT",selector:"turnRight:",spec:"turn @turnRight %1 degrees",inputs:["%n"],shape:"stack",category:"motion"},{id:"MOTION_TURNLEFT",selector:"turnLeft:",spec:"turn @turnLeft %1 degrees",inputs:["%n"],shape:"stack",category:"motion"},{id:"MOTION_POINTINDIRECTION",selector:"heading:",spec:"point in direction %1",inputs:["%d.direction"],shape:"stack",category:"motion"},{id:"MOTION_POINTTOWARDS",selector:"pointTowards:",spec:"point towards %1",inputs:["%m.spriteOrMouse"],shape:"stack",category:"motion"},{id:"MOTION_GOTOXY",selector:"gotoX:y:",spec:"go to x:%1 y:%2",inputs:["%n","%n"],shape:"stack",category:"motion"},{id:"MOTION_GOTO",selector:"gotoSpriteOrMouse:",spec:"go to %1",inputs:["%m.location"],shape:"stack",category:"motion"},{id:"MOTION_GLIDESECSTOXY",selector:"glideSecs:toX:y:elapsed:from:",spec:"glide %1 secs to x:%2 y:%3",inputs:["%n","%n","%n"],shape:"stack",category:"motion"},{id:"MOTION_GLIDETO",spec:"glide %1 secs to %2",inputs:["%n","%m.location"],shape:"stack",category:"motion"},{id:"MOTION_CHANGEXBY",selector:"changeXposBy:",spec:"change x by %1",inputs:["%n"],shape:"stack",category:"motion"},{id:"MOTION_SETX",selector:"xpos:",spec:"set x to %1",inputs:["%n"],shape:"stack",category:"motion"},{id:"MOTION_CHANGEYBY",selector:"changeYposBy:",spec:"change y by %1",inputs:["%n"],shape:"stack",category:"motion"},{id:"MOTION_SETY",selector:"ypos:",spec:"set y to %1",inputs:["%n"],shape:"stack",category:"motion"},{id:"MOTION_SETROTATIONSTYLE",selector:"setRotationStyle",spec:"set rotation style %1",inputs:["%m.rotationStyle"],shape:"stack",category:"motion"},{id:"LOOKS_SAYFORSECS",selector:"say:duration:elapsed:from:",spec:"say %1 for %2 seconds",inputs:["%s","%n"],shape:"stack",category:"looks"},{id:"LOOKS_SAY",selector:"say:",spec:"say %1",inputs:["%s"],shape:"stack",category:"looks"},{id:"LOOKS_THINKFORSECS",selector:"think:duration:elapsed:from:",spec:"think %1 for %2 seconds",inputs:["%s","%n"],shape:"stack",category:"looks"},{id:"LOOKS_THINK",selector:"think:",spec:"think %1",inputs:["%s"],shape:"stack",category:"looks"},{id:"LOOKS_SHOW",selector:"show",spec:"show",inputs:[],shape:"stack",category:"looks"},{id:"LOOKS_HIDE",selector:"hide",spec:"hide",inputs:[],shape:"stack",category:"looks"},{id:"LOOKS_SWITCHCOSTUMETO",selector:"lookLike:",spec:"switch costume to %1",inputs:["%m.costume"],shape:"stack",category:"looks"},{id:"LOOKS_NEXTCOSTUME",selector:"nextCostume",spec:"next costume",inputs:[],shape:"stack",category:"looks"},{id:"LOOKS_NEXTBACKDROP_BLOCK",selector:"nextScene",spec:"next backdrop",inputs:[],shape:"stack",category:"looks"},{id:"LOOKS_SWITCHBACKDROPTO",selector:"startScene",spec:"switch backdrop to %1",inputs:["%m.backdrop"],shape:"stack",category:"looks"},{id:"LOOKS_SWITCHBACKDROPTOANDWAIT",selector:"startSceneAndWait",spec:"switch backdrop to %1 and wait",inputs:["%m.backdrop"],shape:"stack",category:"looks"},{id:"LOOKS_CHANGEEFFECTBY",selector:"changeGraphicEffect:by:",spec:"change %1 effect by %2",inputs:["%m.effect","%n"],shape:"stack",category:"looks"},{id:"LOOKS_SETEFFECTTO",selector:"setGraphicEffect:to:",spec:"set %1 effect to %2",inputs:["%m.effect","%n"],shape:"stack",category:"looks"},{id:"LOOKS_CLEARGRAPHICEFFECTS",selector:"filterReset",spec:"clear graphic effects",inputs:[],shape:"stack",category:"looks"},{id:"LOOKS_CHANGESIZEBY",selector:"changeSizeBy:",spec:"change size by %1",inputs:["%n"],shape:"stack",category:"looks"},{id:"LOOKS_SETSIZETO",selector:"setSizeTo:",spec:"set size to %1%",inputs:["%n"],shape:"stack",category:"looks"},{selector:"comeToFront",spec:"go to front",inputs:[],shape:"stack",category:"looks"},{id:"LOOKS_GOTOFRONTBACK",spec:"go to %1 layer",inputs:["%m"],shape:"stack",category:"looks"},{selector:"goBackByLayers:",spec:"go back %1 layers",inputs:["%n"],shape:"stack",category:"looks"},{id:"LOOKS_GOFORWARDBACKWARDLAYERS",spec:"go %1 %2 layers",inputs:["%m","%n"],shape:"stack",category:"looks"},{id:"SOUND_PLAY",selector:"playSound:",spec:"start sound %1",inputs:["%m.sound"],shape:"stack",category:"sound"},{id:"SOUND_CHANGEEFFECTBY",spec:"change %1 effect by %2",inputs:["%m","%n"],shape:"stack",category:"sound"},{id:"SOUND_SETEFFECTO",spec:"set %1 effect to %2",inputs:["%m","%n"],shape:"stack",category:"sound"},{id:"SOUND_CLEAREFFECTS",spec:"clear sound effects",inputs:[],shape:"stack",category:"sound"},{id:"SOUND_PLAYUNTILDONE",selector:"doPlaySoundAndWait",spec:"play sound %1 until done",inputs:["%m.sound"],shape:"stack",category:"sound"},{id:"SOUND_STOPALLSOUNDS",selector:"stopAllSounds",spec:"stop all sounds",inputs:[],shape:"stack",category:"sound"},{id:"music.playDrumForBeats",selector:"playDrum",spec:"play drum %1 for %2 beats",inputs:["%d.drum","%n"],shape:"stack",category:"music"},{id:"music.restForBeats",selector:"rest:elapsed:from:",spec:"rest for %1 beats",inputs:["%n"],shape:"stack",category:"music"},{id:"music.playNoteForBeats",selector:"noteOn:duration:elapsed:from:",spec:"play note %1 for %2 beats",inputs:["%d.note","%n"],shape:"stack",category:"music"},{id:"music.setInstrument",selector:"instrument:",spec:"set instrument to %1",inputs:["%d.instrument"],shape:"stack",category:"music"},{id:"SOUND_CHANGEVOLUMEBY",selector:"changeVolumeBy:",spec:"change volume by %1",inputs:["%n"],shape:"stack",category:"sound"},{id:"SOUND_SETVOLUMETO",selector:"setVolumeTo:",spec:"set volume to %1%",inputs:["%n"],shape:"stack",category:"sound"},{id:"music.changeTempo",selector:"changeTempoBy:",spec:"change tempo by %1",inputs:["%n"],shape:"stack",category:"music"},{selector:"setTempoTo:",spec:"set tempo to %1 bpm",inputs:["%n"],shape:"stack",category:"sound"},{id:"music.setTempo",selector:"setTempoTo:",spec:"set tempo to %1",inputs:["%n"],shape:"stack",category:"music"},{id:"pen.clear",selector:"clearPenTrails",spec:"erase all",inputs:[],shape:"stack",category:"pen"},{id:"pen.stamp",selector:"stampCostume",spec:"stamp",inputs:[],shape:"stack",category:"pen"},{id:"pen.penDown",selector:"putPenDown",spec:"pen down",inputs:[],shape:"stack",category:"pen"},{id:"pen.penUp",selector:"putPenUp",spec:"pen up",inputs:[],shape:"stack",category:"pen"},{id:"pen.setColor",selector:"penColor:",spec:"set pen color to %1",inputs:["%c"],shape:"stack",category:"pen"},{id:"pen.changeHue",selector:"changePenHueBy:",spec:"change pen color by %1",inputs:["%n"],shape:"stack",category:"pen"},{id:"pen.setColorParam",spec:"set pen %1 to %2",inputs:["%m.color","%c"],shape:"stack",category:"pen"},{id:"pen.changeColorParam",spec:"change pen %1 by %2",inputs:["%m.color","%n"],shape:"stack",category:"pen"},{id:"pen.setHue",selector:"setPenHueTo:",spec:"set pen color to %1",inputs:["%n"],shape:"stack",category:"pen"},{id:"pen.changeShade",selector:"changePenShadeBy:",spec:"change pen shade by %1",inputs:["%n"],shape:"stack",category:"pen"},{id:"pen.setShade",selector:"setPenShadeTo:",spec:"set pen shade to %1",inputs:["%n"],shape:"stack",category:"pen"},{id:"pen.changeSize",selector:"changePenSizeBy:",spec:"change pen size by %1",inputs:["%n"],shape:"stack",category:"pen"},{id:"pen.setSize",selector:"penSize:",spec:"set pen size to %1",inputs:["%n"],shape:"stack",category:"pen"},{id:"EVENT_WHENFLAGCLICKED",selector:"whenGreenFlag",spec:"when @greenFlag clicked",inputs:[],shape:"hat",category:"events"},{id:"EVENT_WHENKEYPRESSED",selector:"whenKeyPressed",spec:"when %1 key pressed",inputs:["%m.key"],shape:"hat",category:"events"},{id:"EVENT_WHENTHISSPRITECLICKED",selector:"whenClicked",spec:"when this sprite clicked",inputs:[],shape:"hat",category:"events"},{id:"EVENT_WHENSTAGECLICKED",spec:"when stage clicked",inputs:[],shape:"hat",category:"events"},{id:"EVENT_WHENBACKDROPSWITCHESTO",selector:"whenSceneStarts",spec:"when backdrop switches to %1",inputs:["%m.backdrop"],shape:"hat",category:"events"},{id:"EVENT_WHENGREATERTHAN",selector:"whenSensorGreaterThan",spec:"when %1 > %2",inputs:["%m.triggerSensor","%n"],shape:"hat",category:"events"},{id:"EVENT_WHENBROADCASTRECEIVED",selector:"whenIReceive",spec:"when I receive %1",inputs:["%m.broadcast"],shape:"hat",category:"events"},{id:"EVENT_BROADCAST",selector:"broadcast:",spec:"broadcast %1",inputs:["%m.broadcast"],shape:"stack",category:"events"},{id:"EVENT_BROADCASTANDWAIT",selector:"doBroadcastAndWait",spec:"broadcast %1 and wait",inputs:["%m.broadcast"],shape:"stack",category:"events"},{id:"CONTROL_WAIT",selector:"wait:elapsed:from:",spec:"wait %1 seconds",inputs:["%n"],shape:"stack",category:"control"},{id:"CONTROL_REPEAT",selector:"doRepeat",spec:"repeat %1",inputs:["%n"],shape:"c-block",category:"control",hasLoopArrow:!0},{id:"CONTROL_FOREVER",selector:"doForever",spec:"forever",inputs:[],shape:"c-block cap",category:"control",hasLoopArrow:!0},{id:"CONTROL_IF",selector:"doIf",spec:"if %1 then",inputs:["%b"],shape:"c-block",category:"control"},{id:"CONTROL_WAITUNTIL",selector:"doWaitUntil",spec:"wait until %1",inputs:["%b"],shape:"stack",category:"control"},{id:"CONTROL_REPEATUNTIL",selector:"doUntil",spec:"repeat until %1",inputs:["%b"],shape:"c-block",category:"control",hasLoopArrow:!0},{id:"CONTROL_STOP",selector:"stopScripts",spec:"stop %1",inputs:["%m.stop"],shape:"cap",category:"control"},{id:"CONTROL_STARTASCLONE",selector:"whenCloned",spec:"when I start as a clone",inputs:[],shape:"hat",category:"control"},{id:"CONTROL_CREATECLONEOF",selector:"createCloneOf",spec:"create clone of %1",inputs:["%m.spriteOnly"],shape:"stack",category:"control"},{id:"CONTROL_DELETETHISCLONE",selector:"deleteClone",spec:"delete this clone",inputs:[],shape:"cap",category:"control"},{id:"SENSING_ASKANDWAIT",selector:"doAsk",spec:"ask %1 and wait",inputs:["%s"],shape:"stack",category:"sensing"},{id:"videoSensing.videoToggle",selector:"setVideoState",spec:"turn video %1",inputs:["%m.videoState"],shape:"stack",category:"video"},{id:"videoSensing.setVideoTransparency",selector:"setVideoTransparency",spec:"set video transparency to %1%",inputs:["%n"],shape:"stack",category:"video"},{id:"videoSensing.whenMotionGreaterThan",spec:"when video motion > %1",inputs:["%n"],shape:"hat",category:"video"},{id:"SENSING_RESETTIMER",selector:"timerReset",spec:"reset timer",inputs:[],shape:"stack",category:"sensing"},{id:"DATA_SETVARIABLETO",selector:"setVar:to:",spec:"set %1 to %2",inputs:["%m.var","%s"],shape:"stack",category:"variables"},{id:"DATA_CHANGEVARIABLEBY",selector:"changeVar:by:",spec:"change %1 by %2",inputs:["%m.var","%n"],shape:"stack",category:"variables"},{id:"DATA_SHOWVARIABLE",selector:"showVariable:",spec:"show variable %1",inputs:["%m.var"],shape:"stack",category:"variables"},{id:"DATA_HIDEVARIABLE",selector:"hideVariable:",spec:"hide variable %1",inputs:["%m.var"],shape:"stack",category:"variables"},{id:"DATA_ADDTOLIST",selector:"append:toList:",spec:"add %1 to %2",inputs:["%s","%m.list"],shape:"stack",category:"list"},{id:"DATA_DELETEOFLIST",selector:"deleteLine:ofList:",spec:"delete %1 of %2",inputs:["%d.listDeleteItem","%m.list"],shape:"stack",category:"list"},{id:"DATA_DELETEALLOFLIST",spec:"delete all of %1",inputs:["%m.list"],shape:"stack",category:"list"},{id:"MOTION_IFONEDGEBOUNCE",selector:"bounceOffEdge",spec:"if on edge, bounce",inputs:[],shape:"stack",category:"motion"},{id:"DATA_INSERTATLIST",selector:"insert:at:ofList:",spec:"insert %1 at %2 of %3",inputs:["%s","%d.listItem","%m.list"],shape:"stack",category:"list"},{id:"DATA_REPLACEITEMOFLIST",selector:"setLine:ofList:to:",spec:"replace item %1 of %2 with %3",inputs:["%d.listItem","%m.list","%s"],shape:"stack",category:"list"},{id:"DATA_SHOWLIST",selector:"showList:",spec:"show list %1",inputs:["%m.list"],shape:"stack",category:"list"},{id:"DATA_HIDELIST",selector:"hideList:",spec:"hide list %1",inputs:["%m.list"],shape:"stack",category:"list"},{id:"SENSING_OF_XPOSITION",selector:"xpos",spec:"x position",inputs:[],shape:"reporter",category:"motion"},{id:"SENSING_OF_YPOSITION",selector:"ypos",spec:"y position",inputs:[],shape:"reporter",category:"motion"},{id:"SENSING_OF_DIRECTION",selector:"heading",spec:"direction",inputs:[],shape:"reporter",category:"motion"},{id:"SENSING_OF_COSTUMENUMBER",selector:"costumeIndex",spec:"costume #",inputs:[],shape:"reporter",category:"looks"},{id:"LOOKS_COSTUMENUMBERNAME",selector:"LOOKS_COSTUMENUMBERNAME",spec:"costume %1",inputs:["%m"],shape:"reporter",category:"looks"},{id:"SENSING_OF_SIZE",selector:"scale",spec:"size",inputs:[],shape:"reporter",category:"looks"},{id:"SENSING_OF_BACKDROPNAME",selector:"sceneName",spec:"backdrop name",inputs:[],shape:"reporter",category:"looks"},{id:"LOOKS_BACKDROPNUMBERNAME",spec:"backdrop %1",inputs:["%m"],shape:"reporter",category:"looks"},{id:"SENSING_OF_BACKDROPNUMBER",selector:"backgroundIndex",spec:"backdrop #",inputs:[],shape:"reporter",category:"looks"},{id:"SOUND_VOLUME",selector:"volume",spec:"volume",inputs:[],shape:"reporter",category:"sound"},{id:"music.getTempo",selector:"tempo",spec:"tempo",inputs:[],shape:"reporter",category:"music"},{id:"SENSING_TOUCHINGOBJECT",selector:"touching:",spec:"touching %1?",inputs:["%m.touching"],shape:"boolean",category:"sensing"},{id:"SENSING_TOUCHINGCOLOR",selector:"touchingColor:",spec:"touching color %1?",inputs:["%c"],shape:"boolean",category:"sensing"},{id:"SENSING_COLORISTOUCHINGCOLOR",selector:"color:sees:",spec:"color %1 is touching %2?",inputs:["%c","%c"],shape:"boolean",category:"sensing"},{id:"SENSING_DISTANCETO",selector:"distanceTo:",spec:"distance to %1",inputs:["%m.spriteOrMouse"],shape:"reporter",category:"sensing"},{id:"SENSING_ANSWER",selector:"answer",spec:"answer",inputs:[],shape:"reporter",category:"sensing"},{id:"SENSING_KEYPRESSED",selector:"keyPressed:",spec:"key %1 pressed?",inputs:["%m.key"],shape:"boolean",category:"sensing"},{id:"SENSING_MOUSEDOWN",selector:"mousePressed",spec:"mouse down?",inputs:[],shape:"boolean",category:"sensing"},{id:"SENSING_MOUSEX",selector:"mouseX",spec:"mouse x",inputs:[],shape:"reporter",category:"sensing"},{id:"SENSING_MOUSEY",selector:"mouseY",spec:"mouse y",inputs:[],shape:"reporter",category:"sensing"},{id:"SENSING_SETDRAGMODE",spec:"set drag mode %1",inputs:["%m"],shape:"stack",category:"sensing"},{id:"SENSING_LOUDNESS",selector:"soundLevel",spec:"loudness",inputs:[],shape:"reporter",category:"sensing"},{id:"videoSensing.videoOn",selector:"senseVideoMotion",spec:"video %1 on %2",inputs:["%m.videoMotionType","%m.stageOrThis"],shape:"reporter",category:"video"},{id:"SENSING_TIMER",selector:"timer",spec:"timer",inputs:[],shape:"reporter",category:"sensing"},{id:"SENSING_OF",selector:"getAttribute:of:",spec:"%1 of %2",inputs:["%m.attribute","%m.spriteOrStage"],shape:"reporter",category:"sensing"},{id:"SENSING_CURRENT",selector:"timeAndDate",spec:"current %1",inputs:["%m.timeAndDate"],shape:"reporter",category:"sensing"},{id:"SENSING_DAYSSINCE2000",selector:"timestamp",spec:"days since 2000",inputs:[],shape:"reporter",category:"sensing"},{id:"SENSING_USERNAME",selector:"getUserName",spec:"username",inputs:[],shape:"reporter",category:"sensing"},{id:"OPERATORS_ADD",selector:"+",spec:"%1 + %2",inputs:["%n","%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_SUBTRACT",selector:"-",spec:"%1 - %2",inputs:["%n","%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_MULTIPLY",selector:"*",spec:"%1 * %2",inputs:["%n","%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_DIVIDE",selector:"/",spec:"%1 / %2",inputs:["%n","%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_RANDOM",selector:"randomFrom:to:",spec:"pick random %1 to %2",inputs:["%n","%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_LT",selector:"<",spec:"%1 < %2",inputs:["%s","%s"],shape:"boolean",category:"operators"},{id:"OPERATORS_EQUALS",selector:"=",spec:"%1 = %2",inputs:["%s","%s"],shape:"boolean",category:"operators"},{id:"OPERATORS_GT",selector:">",spec:"%1 > %2",inputs:["%s","%s"],shape:"boolean",category:"operators"},{id:"OPERATORS_AND",selector:"&",spec:"%1 and %2",inputs:["%b","%b"],shape:"boolean",category:"operators"},{id:"OPERATORS_OR",selector:"|",spec:"%1 or %2",inputs:["%b","%b"],shape:"boolean",category:"operators"},{id:"OPERATORS_NOT",selector:"not",spec:"not %1",inputs:["%b"],shape:"boolean",category:"operators"},{id:"OPERATORS_JOIN",selector:"concatenate:with:",spec:"join %1 %2",inputs:["%s","%s"],shape:"reporter",category:"operators"},{id:"OPERATORS_LETTEROF",selector:"letter:of:",spec:"letter %1 of %2",inputs:["%n","%s"],shape:"reporter",category:"operators"},{id:"OPERATORS_LENGTH",selector:"stringLength:",spec:"length of %1",inputs:["%s"],shape:"reporter",category:"operators"},{id:"OPERATORS_MOD",selector:"%",spec:"%1 mod %2",inputs:["%n","%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_ROUND",selector:"rounded",spec:"round %1",inputs:["%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_MATHOP",selector:"computeFunction:of:",spec:"%1 of %2",inputs:["%m.mathOp","%n"],shape:"reporter",category:"operators"},{id:"OPERATORS_CONTAINS",spec:"%1 contains %2?",inputs:["%s","%s"],shape:"boolean",category:"operators"},{id:"DATA_ITEMOFLIST",selector:"getLine:ofList:",spec:"item %1 of %2",inputs:["%d.listItem","%m.list"],shape:"reporter",category:"list"},{id:"DATA_ITEMNUMOFLIST",spec:"item # of %1 in %2",inputs:["%s","%m.list"],shape:"reporter",category:"list"},{id:"DATA_LENGTHOFLIST",selector:"lineCountOfList:",spec:"length of %1",inputs:["%m.list"],shape:"reporter",category:"list"},{id:"DATA_LISTCONTAINSITEM",selector:"list:contains:",spec:"%1 contains %2?",inputs:["%m.list","%s"],shape:"boolean",category:"list"},{id:"CONTROL_ELSE",spec:"else",inputs:[],shape:"celse",category:"control"},{id:"scratchblocks:end",spec:"end",inputs:[],shape:"cend",category:"control"},{id:"scratchblocks:ellipsis",spec:". . .",inputs:[],shape:"stack",category:"grey"},{id:"scratchblocks:addInput",spec:"%1 @addInput",inputs:["%n"],shape:"ring",category:"grey"},{id:"SENSING_USERID",spec:"user id",inputs:[],shape:"reporter",category:"obsolete"},{selector:"doIf",spec:"if %1",inputs:["%b"],shape:"c-block",category:"obsolete"},{selector:"doForeverIf",spec:"forever if %1",inputs:["%b"],shape:"c-block cap",category:"obsolete"},{selector:"doReturn",spec:"stop script",inputs:[],shape:"cap",category:"obsolete"},{selector:"stopAll",spec:"stop all",inputs:[],shape:"cap",category:"obsolete"},{selector:"lookLike:",spec:"switch to costume %1",inputs:["%m.costume"],shape:"stack",category:"obsolete"},{selector:"nextScene",spec:"next background",inputs:[],shape:"stack",category:"obsolete"},{selector:"startScene",spec:"switch to background %1",inputs:["%m.backdrop"],shape:"stack",category:"obsolete"},{selector:"backgroundIndex",spec:"background #",inputs:[],shape:"reporter",category:"obsolete"},{id:"SENSING_LOUD",selector:"isLoud",spec:"loud?",inputs:[],shape:"boolean",category:"obsolete"},{id:"text2speech.speakAndWaitBlock",spec:"speak %1",inputs:["%s"],shape:"stack",category:"tts"},{id:"text2speech.setVoiceBlock",spec:"set voice to %1",inputs:["%m"],shape:"stack",category:"tts"},{id:"text2speech.setLanguageBlock",spec:"set language to %1",inputs:["%m"],shape:"stack",category:"tts"},{id:"translate.translateBlock",spec:"translate %1 to %2",inputs:["%s","%m"],shape:"reporter",category:"translate"},{id:"translate.viewerLanguage",spec:"language",shape:"reporter",category:"translate"},{id:"makeymakey.whenKeyPressed",spec:"when %1 key pressed",inputs:["%m"],shape:"hat",category:"makeymakey"},{id:"makeymakey.whenKeysPressedInOrder",spec:"when %1 pressed in order",inputs:["%m"],shape:"hat",category:"makeymakey"},{id:"microbit.whenButtonPressed",spec:"when %1 button pressed",inputs:["%m"],shape:"hat",category:"microbit"},{id:"microbit.isButtonPressed",spec:"%1 button pressed?",inputs:["%m"],shape:"boolean",category:"microbit"},{id:"microbit.whenGesture",spec:"when %1",inputs:["%m"],shape:"hat",category:"microbit"},{id:"microbit.displaySymbol",spec:"display %1",inputs:["%m"],shape:"stack",category:"microbit"},{id:"microbit.displayText",spec:"display text %1",inputs:["%s"],shape:"stack",category:"microbit"},{id:"microbit.clearDisplay",spec:"clear display",shape:"stack",category:"microbit"},{id:"microbit.whenTilted",spec:"when tilted %1",inputs:["%m"],shape:"hat",category:"microbit"},{id:"microbit.isTilted",spec:"tilted %1?",inputs:["%m"],shape:"boolean",category:"microbit"},{id:"microbit.tiltAngle",spec:"tilt angle %1",inputs:["%m"],shape:"reporter",category:"microbit"},{id:"microbit.whenPinConnected",spec:"when pin %1 connected",inputs:["%m"],shape:"hat",category:"microbit"},{id:"ev3.motorTurnClockwise",spec:"motor %1 turn this way for %2 seconds",inputs:["%m","%n"],shape:"stack",category:"ev3"},{id:"ev3.motorTurnCounterClockwise",spec:"motor %1 turn that way for %2 seconds",inputs:["%m","%n"],shape:"stack",category:"ev3"},{id:"ev3.motorSetPower",spec:"motor %1 set power %2%",inputs:["%m","%n"],shape:"stack",category:"ev3"},{id:"ev3.getMotorPosition",spec:"motor %1 position",inputs:["%m"],shape:"reporter",category:"ev3"},{id:"ev3.whenButtonPressed",spec:"when button %1 pressed",inputs:["%m"],shape:"hat",category:"ev3"},{id:"ev3.whenDistanceLessThan",spec:"when distance < %1",inputs:["%n"],shape:"hat",category:"ev3"},{id:"ev3.whenBrightnessLessThan",spec:"when brightness < %1",inputs:["%n"],shape:"hat",category:"ev3"},{id:"ev3.buttonPressed",spec:"button %1 pressed?",inputs:["%m"],shape:"boolean",category:"ev3"},{id:"ev3.getDistance",spec:"distance",shape:"reporter",category:"ev3"},{id:"ev3.getBrightness",spec:"brightness",shape:"reporter",category:"ev3"},{id:"ev3.beepNote",spec:"beep note %1 for %2 secs",inputs:["%d.note","%n"],shape:"stack",category:"ev3"},{id:"wedo2.motorOn",spec:"turn %1 on",inputs:["%m.motor"],shape:"stack",category:"wedo"},{id:"wedo2.motorOff",spec:"turn %1 off",inputs:["%m.motor"],shape:"stack",category:"wedo"},{id:"wedo2.startMotorPower",spec:"set %1 power to %2",inputs:["%m.motor","%n"],shape:"stack",category:"wedo"},{id:"wedo2.setMotorDirection",spec:"set %1 direction to %2",inputs:["%m.motor2","%m.motorDirection"],shape:"stack",category:"wedo"},{id:"wedo2.whenDistance",spec:"when distance %1 %2",inputs:["%m.lessMore","%n"],shape:"hat",category:"wedo"},{id:"wedo2.getDistance",spec:"distance",inputs:[],shape:"reporter",category:"wedo"},{id:"wedo2.motorOnFor",spec:"turn %1 on for %2 seconds",inputs:["%m.motor","%n"],shape:"stack",category:"wedo"},{id:"wedo2.setLightHue",spec:"set light color to %1",inputs:["%n"],shape:"stack",category:"wedo"},{id:"wedo2.playNoteFor",spec:"play note %1 for %2 seconds",inputs:["%n","%n"],shape:"stack",category:"wedo"},{id:"wedo2.whenTilted",spec:"when tilted %1",inputs:["%m.xxx"],shape:"hat",category:"wedo"},{id:"wedo2.isTilted",spec:"tilted %1?",inputs:["%m"],shape:"boolean",category:"wedo"},{id:"wedo2.getTiltAngle",spec:"tilt angle %1",inputs:["%m.xxx"],shape:"reporter",category:"wedo"},{id:"gdxfor.whenGesture",spec:"when %1",inputs:["%m"],shape:"hat",category:"gdxfor"},{id:"gdxfor.whenForcePushedOrPulled",spec:"when force sensor %1",inputs:["%m"],shape:"hat",category:"gdxfor"},{id:"gdxfor.getForce",spec:"force",shape:"reporter",category:"gdxfor"},{id:"gdxfor.whenTilted",spec:"when tilted %1",inputs:["%m"],shape:"hat",category:"gdxfor"},{id:"gdxfor.isTilted",spec:"tilted %1?",inputs:["%m"],shape:"boolean",category:"gdxfor"},{id:"gdxfor.getTilt",spec:"tilt angle %1",inputs:["%m"],shape:"reporter",category:"gdxfor"},{id:"gdxfor.isFreeFalling",spec:"falling?",shape:"boolean",category:"gdxfor"},{id:"gdxfor.getSpin",spec:"spin speed %1",inputs:["%m"],shape:"reporter",category:"gdxfor"},{id:"gdxfor.getAcceleration",spec:"acceleration %1",inputs:["%m"],shape:"reporter",category:"gdxfor"},{id:"boost.motorOnFor",spec:"turn motor %1 for %2 seconds",inputs:["%m","%n"],shape:"stack",category:"boost"},{id:"boost.motorOnForRotation",spec:"turn motor %1 for %2 rotations",inputs:["%m","%n"],shape:"stack",category:"boost"},{id:"boost.motorOn",spec:"turn motor %1 on",inputs:["%m"],shape:"stack",category:"boost"},{id:"boost.motorOff",spec:"turn motor %1 off",inputs:["%m"],shape:"stack",category:"boost"},{id:"boost.setMotorPower",spec:"set motor %1 speed to %2%",inputs:["%m","%n"],shape:"stack",category:"boost"},{id:"boost.setMotorDirection",spec:"set motor %1 direction %2",inputs:["%m","%m"],shape:"stack",category:"boost"},{id:"boost.getMotorPosition",spec:"motor %1 position",inputs:["%m"],shape:"reporter",category:"boost"},{id:"boost.whenColor",spec:"when %1 brick seen",inputs:["%m"],shape:"hat",category:"boost"},{id:"boost.seeingColor",spec:"seeing %1 brick?",inputs:["%m"],shape:"boolean",category:"boost"},{id:"boost.whenTilted",spec:"when tilted %1",inputs:["%m"],shape:"hat",category:"boost"},{id:"boost.getTiltAngle",spec:"tilt angle %1",inputs:["%m"],shape:"reporter",category:"boost"},{id:"boost.setLightHue",spec:"set light color to %1",inputs:["%n"],shape:"stack",category:"boost"}].map((function(e){if(!e.id){if(!e.selector)throw Error("Missing ID: "+e.spec);e.id="sb2:"+e.selector}if(!e.spec)throw Error("Missing spec: "+e.id);var t={id:e.id,spec:e.spec,parts:e.spec.split(b).filter((function(e){return e})),selector:e.selector||"sb3:"+e.id,inputs:null==e.inputs?[]:e.inputs,shape:e.shape,category:e.category,hasLoopArrow:!!e.hasLoopArrow};if(E[t.id])throw Error("Duplicate ID: "+t.id);return E[t.id]=t,t})),R={"@greenFlag":"⚑","@turnRight":"↻","@turnLeft":"↺","@addInput":"▸","@delInput":"◂"},C={};function I(e){Object.keys(e).forEach((function(t){return function(e,t){var i=t.blocksByHash={};Object.keys(t.commands).forEach((function(e){var s=t.commands[e],r=E[e],n=S(s);i[n]||(i[n]=[]),i[n].push(r);var o=k.exec(r.spec);if(o){var a=o[0],c=n.replace(S(a),R[a]);i[c]||(i[c]=[]),i[c].push(r)}})),t.nativeAliases={},Object.keys(t.aliases).forEach((function(e){var s=t.aliases[e],r=E[s];if(void 0===r)throw Error("Invalid alias '"+s+"'");var n=S(e);i[n]||(i[n]=[]),i[n].push(r),t.nativeAliases[s]||(t.nativeAliases[s]=[]),t.nativeAliases[s].push(e)})),Object.keys(t.renamedBlocks||{}).forEach((function(e){var i=t.renamedBlocks[e];if(!E[i])throw Error("Unknown ID: "+i);var s=E[i],r=S(e);M.blocksByHash[r]||(M.blocksByHash[r]=[]),M.blocksByHash[r].push(s)})),t.nativeDropdowns={},Object.keys(t.dropdowns).forEach((function(e){var i=t.dropdowns[e];t.nativeDropdowns[i]=e})),t.code=e,C[e]=t}(t,e[t])}))}var M={aliases:{"turn ccw %1 degrees":"MOTION_TURNLEFT","turn left %1 degrees":"MOTION_TURNLEFT","turn cw %1 degrees":"MOTION_TURNRIGHT","turn right %1 degrees":"MOTION_TURNRIGHT","when flag clicked":"EVENT_WHENFLAGCLICKED","when gf clicked":"EVENT_WHENFLAGCLICKED","when green flag clicked":"EVENT_WHENFLAGCLICKED"},renamedBlocks:{"say %1 for %2 secs":"LOOKS_SAYFORSECS","think %1 for %2 secs":"LOOKS_THINKFORSECS","play sound %1":"SOUND_PLAY","wait %1 secs":"CONTROL_WAIT",clear:"pen.clear"},definePrefix:["define"],defineSuffix:[],ignorelt:["when distance"],math:["abs","floor","ceiling","sqrt","sin","cos","tan","asin","acos","atan","ln","log","e ^","10 ^"],soundEffects:["pitch","pan left/right"],microbitWhen:["moved","shaken","jumped"],osis:["other scripts in sprite","other scripts in stage"],dropdowns:{},commands:{}};function N(e,t){if(!E[e])throw Error("Unknown ID: "+e);E[e].accepts=t}function x(e,t,i){N(e,(function(e,t,s){return i(t,s)})),N(t,(function(e,t,s){return!i(t,s)}))}function B(e){var t,i=[],s=l(e.children);try{for(s.s();!(t=s.n()).done;){var r=t.value;if(!r.isLabel)return;i.push(r.value)}}catch(e){s.e(e)}finally{s.f()}return i.join(" ")}function D(e,t){if(!e)throw Error("Assertion failed! "+(t||""))}T.forEach((function(e){M.commands[e.id]=e.spec})),I({en:M}),x("OPERATORS_MATHOP","SENSING_OF",(function(e,t){var i=e[0];if(i.isInput){var s=i.value;return t.math.includes(s)}})),x("SOUND_CHANGEEFFECTBY","LOOKS_CHANGEEFFECTBY",(function(e,t){var i,s=l(e);try{for(s.s();!(i=s.n()).done;){var r=i.value;if("dropdown"===r.shape){var n,o=r.value,a=l(t.soundEffects);try{for(a.s();!(n=a.n()).done;){if(L(n.value)===L(o))return!0}}catch(e){a.e(e)}finally{a.f()}}}}catch(e){s.e(e)}finally{s.f()}return!1})),x("SOUND_SETEFFECTO","LOOKS_SETEFFECTTO",(function(e,t){var i,s=l(e);try{for(s.s();!(i=s.n()).done;){var r=i.value;if("dropdown"===r.shape){var n,o=r.value,a=l(t.soundEffects);try{for(a.s();!(n=a.n()).done;){if(L(n.value)===L(o))return!0}}catch(e){a.e(e)}finally{a.f()}}}}catch(e){s.e(e)}finally{s.f()}return!1})),x("DATA_LENGTHOFLIST","OPERATORS_LENGTH",(function(e,t){var i=e[e.length-1];if(i.isInput)return"dropdown"===i.shape})),x("DATA_LISTCONTAINSITEM","OPERATORS_CONTAINS",(function(e,t){var i=e[0];if(i.isInput)return"dropdown"===i.shape})),x("pen.setColor","pen.setHue",(function(e,t){var i=e[e.length-1];return i.isInput&&i.isColor||i.isBlock})),x("microbit.whenGesture","gdxfor.whenGesture",(function(e,t){var i,s=l(e);try{for(s.s();!(i=s.n()).done;){var r=i.value;if("dropdown"===r.shape){var n,o=r.value,a=l(t.microbitWhen);try{for(a.s();!(n=a.n()).done;){if(L(n.value)===L(o))return!0}}catch(e){a.e(e)}finally{a.f()}}}}catch(e){s.e(e)}finally{s.f()}return!1})),x("ev3.buttonPressed","microbit.isButtonPressed",(function(e,t){var i,s=l(e);try{for(s.s();!(i=s.n()).done;){var r=i.value;if("dropdown"===r.shape)switch(L(r.value)){case"1":case"2":case"3":case"4":return!0}}}catch(e){s.e(e)}finally{s.f()}return!1})),function(e,t){if(!E[e])throw Error("Unknown ID: "+e);E[e].specialCase=t}("CONTROL_STOP",(function(e,i,s){var r=i[i.length-1];if(r.isInput){var n=r.value;return s.osis.includes(n)?t(t({},E.CONTROL_STOP),{},{shape:"stack"}):void 0}}));var P=function(){function e(e,t){this.value=e,this.cls=t||"",this.el=null,this.height=12,this.metrics=null,this.x=0}return s(e,[{key:"isLabel",get:function(){return!0}},{key:"stringify",value:function(){return"<"===this.value||">"===this.value?this.value:this.value.replace(/([<>[\](){}])/g,"\\$1")}}]),e}(),F=function(){function e(t){this.name=t,this.isArrow="loopArrow"===t,D(e.icons[t],"no info for icon "+t)}return s(e,[{key:"isIcon",get:function(){return!0}},{key:"stringify",value:function(){return R["@"+this.name]||""}}],[{key:"icons",get:function(){return{greenFlag:!0,stopSign:!0,turnLeft:!0,turnRight:!0,loopArrow:!0,addInput:!0,delInput:!0,list:!0}}}]),e}(),z=function(){function e(e,t,i){this.shape=e,this.value=t,this.menu=i||null,this.isRound="number"===e||"number-dropdown"===e,this.isBoolean="boolean"===e,this.isStack="stack"===e,this.isInset="boolean"===e||"stack"===e||"reporter"===e,this.isColor="color"===e,this.hasArrow="dropdown"===e||"number-dropdown"===e,this.isDarker="boolean"===e||"stack"===e||"dropdown"===e,this.isSquare="string"===e||"color"===e||"dropdown"===e,this.hasLabel=!(this.isColor||this.isInset),this.label=this.hasLabel?new P(t,"literal-"+this.shape):null,this.x=0}return s(e,[{key:"isInput",get:function(){return!0}},{key:"stringify",value:function(){if(this.isColor)return D("#"===this.value[0]),"["+this.value+"]";var e=(this.value?this.value+"":"").replace(/([\]\\])/g,"\\$1").replace(/ v$/," \\v");return this.hasArrow&&(e+=" v"),this.isRound?"("+e+")":this.isSquare?"["+e+"]":this.isBoolean?"<>":this.isStack?"{}":e}},{key:"translate",value:function(e){if(this.hasArrow){var t=this.menu||this.value;this.value=t,this.label=new P(this.value,"literal-"+this.shape)}}}]),e}(),H=function(){function e(e,i,s){D(e),this.info=t({},e),this.children=i,this.comment=s||null,this.diff=null;var r=this.info.shape;this.isHat="hat"===r||"cat"===r||"define-hat"===r,this.hasPuzzle="stack"===r||"hat"===r||"cat"===r||"c-block"===r,this.isFinal=/cap/.test(r),this.isCommand="stack"===r||"cap"===r||/block/.test(r),this.isOutline="outline"===r,this.isReporter="reporter"===r,this.isBoolean="boolean"===r,this.isRing="ring"===r,this.hasScript=/block/.test(r),this.isElse="celse"===r,this.isEnd="cend"===r}return s(e,[{key:"isBlock",get:function(){return!0}},{key:"stringify",value:function(e){var t=null,i=!1,s=this.children.map((function(e){return e.isIcon&&(i=!0),t||e.isLabel||e.isIcon||(t=e),e.isScript?"\n"+function(e){return e.split("\n").map((function(e){return" "+e})).join("\n")}(e.stringify())+"\n":e.stringify().trim()+" "})).join("").trim(),r=this.info.language;if(i&&r&&this.info.selector){var n=r.nativeAliases[this.info.id];if(n&&n.length){var o=n[0];return v.test(o)&&t&&(o=o.replace(v,t.stringify())),o}}var a=e||"";return(!1===this.info.categoryIsDefault||"custom-arg"===this.info.category&&(this.isReporter||this.isBoolean)||"custom"===this.info.category&&"stack"===this.info.shape)&&(a&&(a+=" "),a+=this.info.category),a&&(s+=" :: "+a),this.hasScript?s+"\nend":"reporter"===this.info.shape?"("+s+")":"boolean"===this.info.shape?"<"+s+">":s}},{key:"translate",value:function(e,t){var i=this;if(!e)throw Error("Missing language");var s=this.info.id;if(s)if("PROCEDURES_DEFINITION"!==s){var r=this.info.language.commands[s],n=e.commands[s];if(n){var o=O(n),a=this.children.filter((function(e){return!e.isLabel&&!e.isIcon}));t||a.forEach((function(t){return t.translate(e)}));var c=O(r).parts.map((function(e){return A(e)})).filter((function(e){return e})),h=0,u=c.map((function(e){return h=Math.max(h,e),a[e-1]})),p=a.slice(h);this.children=o.parts.map((function(e){if(e=e.trim()){var t=A(e);return t?u[t-1]:k.test(e)?new F(e.slice(1)):new P(e)}})).filter((function(e){return e})),p.forEach((function(t,s){1===s&&"CONTROL_IF"===i.info.id&&i.children.push(new P(e.commands.CONTROL_ELSE)),i.children.push(t)})),this.info.language=e,this.info.isRTL=g.includes(e.code),this.info.categoryIsDefault=!0}}else{var f=this.children.find((function(e){return e.isOutline}));this.children=[];var d,y=l(e.definePrefix);try{for(y.s();!(d=y.n()).done;){var v=d.value;this.children.push(new P(v))}}catch(e){y.e(e)}finally{y.f()}this.children.push(f);var m,b=l(e.defineSuffix);try{for(b.s();!(m=b.n()).done;){var w=m.value;this.children.push(new P(w))}}catch(e){b.e(e)}finally{b.f()}}}}]),e}(),G=function(){function e(e,t){this.label=new P(e,"comment-label"),this.width=null,this.hasBlock=t}return s(e,[{key:"isComment",get:function(){return!0}},{key:"stringify",value:function(){return"// "+this.label.value}}]),e}(),U=function(){function e(e){D(e),this.child=e,e.isBlock?(this.shape=e.info.shape,this.info=e.info):this.shape="stack"}return s(e,[{key:"isGlow",get:function(){return!0}},{key:"stringify",value:function(){return this.child.isBlock?this.child.stringify("+"):this.child.stringify().split("\n").map((function(e){return"+ "+e})).join("\n")}},{key:"translate",value:function(e){this.child.translate(e)}}]),e}(),V=function(){function e(e){this.blocks=e,this.isEmpty=!e.length,this.isFinal=!this.isEmpty&&e[e.length-1].isFinal}return s(e,[{key:"isScript",get:function(){return!0}},{key:"stringify",value:function(){return this.blocks.map((function(e){var t=e.stringify();return e.comment&&(t+=" "+e.comment.stringify()),t})).join("\n")}},{key:"translate",value:function(e){this.blocks.forEach((function(t){return t.translate(e)}))}}]),e}(),_=function(){function e(e){this.scripts=e}return s(e,[{key:"stringify",value:function(){return this.scripts.map((function(e){return e.stringify()})).join("\n\n")}},{key:"translate",value:function(e){this.scripts.forEach((function(t){return t.translate(e)}))}}]),e}();function j(e,t,i){var s=[];Array.isArray(t[t.length-1])&&(s=t.pop());var r,n=[],o=l(t);try{for(o.s();!(r=o.n()).done;){var a=r.value;a.isLabel?n.push(a.value):a.isIcon?n.push("@"+a.name):n.push("_")}}catch(e){o.e(e)}finally{o.f()}var c,h,u=n.join(" "),p=function(e,t,i,s){var r,n=l(s);try{for(n.s();!(r=n.n()).done;){var o=r.value;if(Object.prototype.hasOwnProperty.call(o.blocksByHash,e)){var a,c=o.blocksByHash[e],h=l(c);try{for(h.s();!(a=h.n()).done;){var u=a.value;if(("reporter"!==t.shape||"reporter"===u.shape||"ring"===u.shape)&&("boolean"!==t.shape||"boolean"===u.shape)&&(!(c.length>1&&u.accepts)||u.accepts(t,i,o)))return u.specialCase&&(u=u.specialCase(t,i,o)||u),{type:u,lang:o}}}catch(e){h.e(e)}finally{h.f()}}}}catch(e){n.e(e)}finally{n.f()}}(e.hash=L(u),e,t,i);if(p)c=p.lang,h=p.type,e.language=c,e.isRTL=g.includes(c.code),("ring"===h.shape?"reporter"===e.shape:"stack"===e.shape)&&(e.shape=h.shape),e.category=h.category,e.categoryIsDefault=!0,h.selector&&(e.selector=h.selector),h.id&&(e.id=h.id),e.hasLoopArrow=h.hasLoopArrow,". . ."===h.spec&&(t=[new P(". . .")]);else{var y,v=l(i);try{for(v.s();!(y=v.n()).done;){var m=y.value;if(K(t,m)){e.shape="define-hat",e.category="custom";var b=t.splice(m.definePrefix.length,t.length-m.defineSuffix.length).map((function(e){if(e.isInput&&e.isBoolean)e=j({shape:"boolean",argument:"boolean",category:"custom-arg"},[new P("")],i);else if(!e.isInput||"string"!==e.shape&&"number"!==e.shape)(e.isReporter||e.isBoolean)&&e.info.categoryIsDefault&&(e.info.category="custom-arg",e.info.argument=e.isBoolean?"boolean":"number");else{var t=e.value.split(/ +/g).map((function(e){return new P(e)}));e=j({shape:"reporter",argument:"string"===e.shape?"string":"number",category:"custom-arg"},t,i)}return e})),A=new H({shape:"outline",category:"custom",categoryIsDefault:!0,hasLoopArrow:!1},b);t.splice(m.definePrefix.length,0,A);break}}}catch(e){v.e(e)}finally{v.f()}}!function(e,t){var i,s=l(t);try{for(s.s();!(i=s.n()).done;){var r=i.value;w.test(r)?(e.color=r,e.category="",e.categoryIsDefault=!1):f.includes(r)?(e.category=r,e.categoryIsDefault=!1):d.includes(r)?e.shape=r:"loop"===r?e.hasLoopArrow=!0:"+"!==r&&"-"!==r||(e.diff=r)}}catch(e){s.e(e)}finally{s.f()}}(e,s),e.hasLoopArrow&&t.push(new F("loopArrow"));var O=new H(e,t);return h&&k.test(h.spec)&&O.translate(c,!0),"+"===e.diff?new U(O):(O.diff=e.diff,O)}function K(e,t){if(e.length<t.definePrefix.length)return!1;if(e.length<t.defineSuffix.length)return!1;for(var i=0;i<t.definePrefix.length;i++){var s=t.definePrefix[i],r=e[i];if(!r.isLabel||L(r.value)!==L(s))return!1}for(var n=1;n<=t.defineSuffix.length;n++){var o=t.defineSuffix[t.defineSuffix.length-n],a=e[e.length-n];if(!a.isLabel||L(a.value)!==L(o))return!1}return!0}function W(e,t){var i,s=e[0],r=0;function n(){s=e[++r]}function o(){return e[r+1]}function a(){for(var t=r+1;t<e.length;t++)if(" "!==e[t])return e[t]}var c=[];function h(e,i){var s=i.filter((function(e){return!e.isLabel})).length;return j({shape:e,category:"reporter"!==e||s?"obsolete":"variables",categoryIsDefault:!0,hasLoopArrow:!1},i,t)}function u(e,i){var s=function(e,t){var i,s=l(t);try{for(s.s();!(i=s.n()).done;){var r=i.value;if(Object.prototype.hasOwnProperty.call(r.nativeDropdowns,e))return r.nativeDropdowns[e]}}catch(e){s.e(e)}finally{s.f()}}(i,t)||i;return new z(e,i,s)}function p(e){for(var t,i=[];s&&"\n"!==s;){if(("<"===s||">"===s)&&">"===e&&1===i.length&&!i[i.length-1].isLabel){var r=a();if("["===r||"("===r||"<"===r||"{"===r){t=null,i.push(new P(s)),n();continue}}if(s===e)break;if("/"===s&&"/"===o()&&!e)break;switch(s){case"[":t=null,i.push(f());break;case"(":t=null,i.push(g());break;case"<":t=null,i.push(y());break;case"{":t=null,i.push(v());break;case" ":case"\t":n(),t=null;break;case"◂":case"▸":i.push(m()),t=null;break;case"@":n();for(var c="";s&&/[a-zA-Z]/.test(s);)c+=s,n();"cloud"===c?i.push(new P("☁")):i.push(Object.prototype.hasOwnProperty.call(F.icons,c)?new F(c):new P("@"+c)),t=null;break;case"\\":n();case":":if(":"===s&&":"===o())return i.push(k(e)),i;default:t||i.push(t=new P("")),t.value+=s,n()}}return i}function f(){n();for(var e="",t=!1;s&&"]"!==s&&"\n"!==s;){if("\\"===s){if(n(),"v"===s&&(t=!0),!s)break}else t=!1;e+=s,n()}return"]"===s&&n(),w.test(e)?new z("color",e):!t&&/ v$/.test(e)?u("dropdown",e.slice(0,e.length-2)):new z("string",e)}function d(e){var t=p(e);if(s&&"\n"===s&&(i=!0,n()),0!==t.length){if(1===t.length){var r=t[0];if(r.isBlock&&(r.isReporter||r.isBoolean||r.isRing))return r}return h("stack",t)}}function g(){if(n()," "===s&&(n(),"v"===s&&")"===o()))return n(),n(),new z("number-dropdown","");var e=p(")");if(s&&")"===s&&n(),0===e.length)return new z("number","");if(1===e.length&&e[0].isLabel){var t=e[0].value;if(/^[0-9e.-]*$/.test(t))return new z("number",t);if(w.test(t))return new z("color",t)}if(e.length>1&&e.every((function(e){return e.isLabel}))&&"v"===e[e.length-1].value)return e.pop(),u("number-dropdown",e.map((function(e){return e.value})).join(" "));var i=h("reporter",e);if(i.info&&"ring"===i.info.shape){var r=i.children[0];r&&r.isInput&&"number"===r.shape&&""===r.value?i.children[0]=new z("reporter"):(r&&r.isScript&&r.isEmpty||r&&r.isBlock&&!r.children.length)&&(i.children[0]=new z("stack"))}return i}function y(){n();var e=p(">");return s&&">"===s&&n(),0===e.length?new z("boolean"):h("boolean",e)}function v(){n(),i=!1;var e=Z((function(){for(;s&&"}"!==s;){var e=d("}");if(e)return e}})),t=[];return e.forEach((function(e){t=t.concat(e.blocks)})),"}"===s&&n(),i?new V(t):(function(e,t){if(!e)throw Error("Assertion failed! "+(t||""))}(t.length<=1),t.length?t[0]:h("stack",[]))}function m(){var e=s;switch(n(),e){case"▸":return new F("addInput");case"◂":return new F("delInput");default:return}}function k(e){n(),n();for(var t=[],i="";s&&"\n"!==s&&s!==e;){if(" "===s)i&&(t.push(i),i="");else{if("/"===s&&"/"===o())break;i+=s}n()}return i&&t.push(i),t}function b(){var e;"+"!==s&&"-"!==s||(e=s,n());var t=d();if("/"===s&&"/"===o()){var i=function(e){n(),n();for(var t="";s&&"\n"!==s&&s!==e;)t+=s,n();return s&&"\n"===s&&n(),new G(t,!0)}();if(i.hasBlock=t&&t.children.length,!i.hasBlock)return i;t.comment=i}return t&&(t.diff=e),t}return t.map((function(e){c=c.concat(e.define)})),function(){if(s)return b()||"NL"}}function Z(e){var i=e();function s(){i=e()}function r(){var e=i;if(s(),e.hasScript)for(;;){var t=n();if(e.children.push(new V(t)),!i||!i.isElse){i&&i.isEnd&&s();break}var r,o=l(i.children);try{for(o.s();!(r=o.n()).done;){var a=r.value;e.children.push(a)}}catch(e){o.e(e)}finally{o.f()}s()}return e}function n(){for(var e=[];i;)if("NL"!==i){if(!i.isCommand)return e;var t=r(),n="+"===t.diff;if(n&&(t.diff=null),n){var o=e[e.length-1],a=[];o&&o.isGlow&&(e.pop(),a=o.child.isScript?o.child.blocks:[o.child]),a.push(t),e.push(new U(new V(a)))}else e.push(t)}else s();return e}return function(){for(;"NL"===i;)s();for(var e=[];i;){for(var n=[];i&&"NL"!==i;){var o=r(),a="+"===o.diff;if(a&&(o.diff=null),(o.isElse||o.isEnd)&&(o=new H(t(t({},o.info),{},{shape:"stack"}),o.children)),a){var c=n[n.length-1],l=[];c&&c.isGlow&&(n.pop(),l=c.child.isScript?c.child.blocks:[c.child]),l.push(o),n.push(new U(new V(l)))}else if(o.isHat)n.length&&e.push(new V(n)),n=[o];else{if(o.isFinal){n.push(o);break}if(!o.isCommand){n.length&&e.push(new V(n)),e.push(new V([o])),n=[];break}n.push(o)}}for(n.length&&e.push(new V(n));"NL"===i;)s()}return e}()}function X(e,t){e.isScript?e.blocks=e.blocks.map((function(e){return X(e,t),t(e)||e})):e.isBlock?e.children=e.children.map((function(e){return X(e,t),t(e)||e})):e.isGlow&&X(e.child,t)}var Y,Q,q={"append:toList:":1,"deleteLine:ofList:":1,"insert:at:ofList:":2,"setLine:ofList:to:":1,"showList:":0,"hideList:":0};function J(e,i){if((i=t({inline:!1,languages:["en"]},i)).dialect)throw Error("Option 'dialect' no longer supported");e=(e=e.replace(/</g,"<")).replace(/>/g,">"),i.inline&&(e=e.replace(/\n/g," "));var s=i.languages.map((function(e){var t=C[e];if(!t)throw Error("Unknown language: '"+e+"'");return t})),r=Z(W(e,s));return function(e){var t=Object.create(null),i=new Set;e.forEach((function(e){var s=new Set;X(e,(function(e){if(e.isBlock)if("define-hat"===e.info.shape){var r=e.children.find((function(e){return e.isOutline}));if(!r)return;var n,o=[],a=[],c=l(r.children);try{for(c.s();!(n=c.n()).done;){var h=n.value;if(h.isLabel)a.push(h.value);else if(h.isBlock){if(!h.info.argument)return;a.push({number:"%n",string:"%s",boolean:"%b"}[h.info.argument]);var u=B(h);o.push(u),s.add(u)}}}catch(e){c.e(e)}finally{c.f()}var p=a.join(" "),f=S(p),d={spec:p,names:o};t[f]||(t[f]=d),e.info.id="PROCEDURES_DEFINITION",e.info.selector="procDef",e.info.call=d.spec,e.info.names=d.names,e.info.category="custom"}else if(e.info.categoryIsDefault&&(e.isReporter||e.isBoolean)){var g=B(e);s.has(g)&&(e.info.category="custom-arg",e.info.categoryIsDefault=!1,e.info.selector="getParam")}else if(Object.prototype.hasOwnProperty.call(q,e.info.selector)){var y=q[e.info.selector],v=e.children.filter((function(e){return!e.isLabel})),m=v[y];m&&m.isInput&&i.add(m.value)}}))})),e.forEach((function(e){X(e,(function(e){if(e.info&&e.info.categoryIsDefault&&"obsolete"===e.info.category){var s=t[e.info.hash];s&&(e.info.selector="call",e.info.call=s.spec,e.info.names=s.names,e.info.category="custom")}else{var r,n;e.isReporter&&"variables"===e.info.category&&e.info.categoryIsDefault&&(e.info.selector="readVariable",r=B(e),n=e.info),r&&i.has(r)&&(n.category="list",n.categoryIsDefault=!1,n.selector="contentsOfList:")}}))}))}(r),new _(r)}function $(e,t){if(!e)throw Error("Assertion failed! "+(t||""))}var ee={textContent:!0},te=function(){function e(){}return s(e,null,[{key:"init",value:function(t){Y=t.document;var i=t.DOMParser;Q=(new i).parseFromString("<xml></xml>","application/xml"),e.XMLSerializer=t.XMLSerializer}},{key:"makeCanvas",value:function(){return Y.createElement("canvas")}},{key:"cdata",value:function(e){return Q.createCDATASection(e)}},{key:"el",value:function(t,i){var s=Y.createElementNS("http://www.w3.org/2000/svg",t);return e.setProps(s,i)}},{key:"setProps",value:function(e,t){for(var i in t){var s=t[i]+"";ee[i]?e[i]=s:null!=t[i]&&Object.prototype.hasOwnProperty.call(t,i)&&e.setAttributeNS(null,i,s)}return e}},{key:"withChildren",value:function(e,t){var i,s=l(t);try{for(s.s();!(i=s.n()).done;){var r=i.value;e.appendChild(r)}}catch(e){s.e(e)}finally{s.f()}return e}},{key:"group",value:function(t){return e.withChildren(e.el("g"),t)}},{key:"newSVG",value:function(t,i,s){return e.el("svg",{version:"1.1",width:t*s,height:i*s,viewBox:"0 0 "+t+" "+i})}},{key:"polygon",value:function(i){return e.el("polygon",t(t({},i),{},{points:i.points.join(" ")}))}},{key:"path",value:function(i){return e.el("path",t(t({},i),{},{path:null,d:i.path.join(" ")}))}},{key:"text",value:function(i,s,r,n){var o=e.el("text",t(t({},n),{},{x:i,y:s,textContent:r}));return o}},{key:"symbol",value:function(t){return e.el("use",{href:t})}},{key:"move",value:function(t,i,s){return e.setProps(s,{transform:"translate("+t+" "+i+")"}),s}},{key:"translatePath",value:function(e,t,i){for(var s=!0,r=i.split(" "),n=[],o=0;o<r.length;o++){var a=r[o];if("A"!==a)/[A-Za-z]/.test(a)?$(s):(a=+a,a+=s?e:t,s=!s),n.push(a);else{var c=o+5;for(n.push("A");o<c;)n.push(r[++o])}}return n.join(" ")}},{key:"rect",value:function(i,s,r){return e.el("rect",t(t({},r),{},{x:0,y:0,width:i,height:s}))}},{key:"ellipse",value:function(i,s,r){return e.el("ellipse",t(t({},r),{},{cx:i/2,cy:s/2,rx:i/2,ry:s/2}))}},{key:"arc",value:function(e,t,i,s,r,n){return"L "+e+" "+t+" A "+r+" "+n+" 0 0 1 "+i+" "+s}},{key:"arcw",value:function(e,t,i,s,r,n){return"L "+e+" "+t+" A "+r+" "+n+" 0 0 0 "+i+" "+s}},{key:"roundedPath",value:function(t,i){var s=i/2;return["M",s,0,e.arc(t-s,0,t-s,i,s,s),e.arc(s,i,s,0,s,s),"Z"]}},{key:"roundedRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:e.roundedPath(i,s)}))}},{key:"pointedPath",value:function(e,t){var i=t/2;return["M",i,0,"L",e-i,0,e,i,"L",e,i,e-i,t,"L",i,t,0,i,"L",0,i,i,0,"Z"]}},{key:"pointedRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:e.pointedPath(i,s)}))}},{key:"getTop",value:function(e){return"M 0 3\n L 3 0\n L 13 0\n L 16 3\n L 24 3\n L 27 0\n L "+(e-3)+" 0\n L "+e+" 3"}},{key:"getRingTop",value:function(e){return"M 0 3\n L 3 0\n L 7 0\n L 10 3\n L 16 3\n L 19 0\n L "+(e-3)+" 0\n L "+e+" 3"}},{key:"getRightAndBottom",value:function(e,t,i,s){void 0===s&&(s=0);var r=["L",e,t-3,"L",e-3,t];return i&&(r=r.concat(["L",s+27,t,"L",s+24,t+3,"L",s+16,t+3,"L",s+13,t])),(r=s>0?r.concat(["L",s+2,t,"L",s,t+2]):r.concat(["L",s+3,t,"L",0,t-3])).join(" ")}},{key:"getArm",value:function(e,t){return"L 15 "+(t-2)+"\n L 17 "+t+"\n L "+(e-3)+" "+t+"\n L "+e+" "+(t+3)}},{key:"stackRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:[e.getTop(i),e.getRightAndBottom(i,s,!0,0),"Z"]}))}},{key:"capPath",value:function(t,i){return[e.getTop(t),e.getRightAndBottom(t,i,!1,0),"Z"]}},{key:"capRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:e.capPath(i,s)}))}},{key:"hatRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:["M",0,12,e.arc(0,12,80,10,80,80),"L",i-3,10,"L",i,13,e.getRightAndBottom(i,s,!0),"Z"]}))}},{key:"curve",value:function(e,t,i,s,r){var n=(t+s)/2;return Math.round((e+i)/2+(r=r||.42)*(s-t))+" "+Math.round(n-r*(i-e))+" "+i+" "+s}},{key:"procHatBase",value:function(i,s,r,n){return r=Math.min(.2,35/i),e.path(t(t({},n),{},{path:["M",0,15,"Q",e.curve(0,15,i,15,r),e.getRightAndBottom(i,s,!0),"M",-1,13,"Q",e.curve(-1,13,i+1,13,r),"Q",e.curve(i+1,13,i,16,.6),"Q",e.curve(i,16,0,16,-r),"Q",e.curve(0,16,-1,13,.6),"Z"]}))}},{key:"procHatCap",value:function(t,i,s){return e.path({path:["M",-1,13,"Q",e.curve(-1,13,t+1,13,s),"Q",e.curve(t+1,13,t,16,.6),"Q",e.curve(t,16,0,16,-s),"Q",e.curve(0,16,-1,13,.6),"Z"],class:"sb-define-hat-cap"})}},{key:"procHatRect",value:function(t,i,s){var r=i-52,n=Math.min(.2,35/t);return e.move(0,r,e.group([e.procHatBase(t,52,n,s),e.procHatCap(t,52,n)]))}},{key:"mouthRect",value:function(i,s,r,n,o){for(var a=n[0].height,c=[e.getTop(i),e.getRightAndBottom(i,a,!0,15)],l=1;l<n.length;l+=2){var h=l+2===n.length;a+=n[l].height-3,c.push(e.getArm(i,a));var u=!(h&&r),p=h?0:15;a+=n[l+1].height+3,c.push(e.getRightAndBottom(i,a,u,p))}return e.path(t(t({},o),{},{path:c}))}},{key:"ringRect",value:function(i,s,r,n,o,a,c){var l="reporter"===a?e.roundedPath:"boolean"===a?e.pointedPath:e.capPath;return e.path(t(t({},c),{},{path:["M",8,0,e.arcw(8,0,0,8,8,8),e.arcw(0,s-8,8,s,8,8),e.arcw(i-8,s,i,s-8,8,8),e.arcw(i,8,i-8,0,8,8),"Z",e.translatePath(4,r||4,l(n,o).join(" "))],"fill-rule":"even-odd"}))}},{key:"commentRect",value:function(i,s,r){return e.path(t(t({},r),{},{class:"sb-comment",path:["M",6,0,e.arc(i-6,0,i,6,6,6),e.arc(i,s-6,i-6,s,6,6),e.arc(6,s,0,s-6,6,6),e.arc(0,6,6,0,6,6),"Z"]}))}},{key:"commentLine",value:function(i,s){return e.move(-i,9,e.rect(i,2,t(t({},s),{},{class:"sb-comment-line"})))}},{key:"strikethroughLine",value:function(i,s){return e.path(t(t({},s),{},{path:["M",0,0,"L",i,0],class:"sb-diff sb-diff-del"}))}}]),e}(),ie=function(){function e(e,i){this.el=te.el("filter",t(t({},i),{},{id:e,x0:"-50%",y0:"-50%",width:"200%",height:"200%"})),this.highestId=0}return s(e,[{key:"fe",value:function(e,i,s){var r=e.toLowerCase().replace(/gaussian|osite/,"")+"-"+ ++this.highestId;return this.el.appendChild(te.withChildren(te.el("fe"+e,t(t({},i),{},{result:r})),s||[])),r}},{key:"comp",value:function(e,i,s,r){return this.fe("Composite",t(t({},r),{},{operator:e,in:i,in2:s}))}},{key:"subtract",value:function(e,t){return this.comp("arithmetic",e,t,{k2:1,k3:-1})}},{key:"offset",value:function(e,t,i){return this.fe("Offset",{in:i,dx:e,dy:t})}},{key:"flood",value:function(e,t,i){return this.fe("Flood",{in:i,"flood-color":e,"flood-opacity":t})}},{key:"blur",value:function(e,t){return this.fe("GaussianBlur",{in:t,stdDeviation:e+" "+e})}},{key:"colorMatrix",value:function(e,t){return this.fe("ColorMatrix",{in:e,type:"matrix",values:t.join(" ")})}},{key:"merge",value:function(e){this.fe("Merge",{},e.map((function(e){return te.el("feMergeNode",{in:e})})))}}]),e}(),se=function(){function e(){}return s(e,null,[{key:"cssContent",get:function(){return".sb-label{font-family:Lucida Grande,Verdana,Arial,DejaVu Sans,sans-serif;font-weight:700;fill:#fff;font-size:10px;word-spacing:1px}.sb-obsolete{fill:#d42828}.sb-motion{fill:#4a6cd4}.sb-looks{fill:#8a55d7}.sb-sound{fill:#bb42c3}.sb-pen{fill:#0e9a6c}.sb-events{fill:#c88330}.sb-control{fill:#e1a91a}.sb-sensing{fill:#2ca5e2}.sb-operators{fill:#5cb712}.sb-variables{fill:#ee7d16}.sb-list{fill:#cc5b22}.sb-custom{fill:#632d99}.sb-custom-arg{fill:#5947b1}.sb-extension{fill:#4b4a60}.sb-grey{fill:#969696}.sb-bevel{filter:url(#bevelFilter)}.sb-input{filter:url(#inputBevelFilter)}.sb-input-number,.sb-input-number-dropdown,.sb-input-string{fill:#fff}.sb-literal-dropdown,.sb-literal-number,.sb-literal-number-dropdown,.sb-literal-string{font-weight:400;font-size:9px;word-spacing:0}.sb-literal-number,.sb-literal-number-dropdown,.sb-literal-string{fill:#000}.sb-darker{filter:url(#inputDarkFilter)}.sb-outline{stroke:#fff;stroke-opacity:.2;stroke-width:2;fill:none}.sb-comment,.sb-define-hat-cap{stroke:#632d99;stroke-width:1;fill:#8e2ec2}.sb-comment{fill:#ffffa5;stroke:#d0d1d2}.sb-comment-line{fill:#ffff80}.sb-comment-label{font-family:Helevetica,Arial,DejaVu Sans,sans-serif;font-weight:700;fill:#5c5d5f;word-spacing:0;font-size:12px}.sb-diff{fill:none;stroke:#000}.sb-diff-ins{stroke-width:2px}.sb-diff-del{stroke-width:3px}"}},{key:"makeIcons",value:function(){return[te.el("path",{d:"M1.504 21L0 19.493 4.567 0h1.948l-.5 2.418s1.002-.502 3.006 0c2.006.503 3.008 2.01 6.517 2.01 3.508 0 4.463-.545 4.463-.545l-.823 9.892s-2.137 1.005-5.144.696c-3.007-.307-3.007-2.007-6.014-2.51-3.008-.502-4.512.503-4.512.503L1.504 21z",fill:"#3f8d15",id:"greenFlag"}),te.el("polygon",{points:"6.3,0.4725 12.516,0.4725 18.585,6.3 18.585,12.495 12.495,18.585 6.3,18.585 0.483,12.495 0.483,6.3 ",fill:"#bb0010",id:"stopSign"}),te.el("path",{d:"M6.724 0C3.01 0 0 2.91 0 6.5c0 2.316 1.253 4.35 3.14 5.5H5.17v-1.256C3.364 10.126 2.07 8.46 2.07 6.5 2.07 4.015 4.152 2 6.723 2c1.14 0 2.184.396 2.993 1.053L8.31 4.13c-.45.344-.398.826.11 1.08L15 8.5 13.858.992c-.083-.547-.514-.714-.963-.37l-1.532 1.172A6.825 6.825 0 0 0 6.723 0z",fill:"#fff",id:"turnRight"}),te.el("path",{d:"M3.637 1.794A6.825 6.825 0 0 1 8.277 0C11.99 0 15 2.91 15 6.5c0 2.316-1.253 4.35-3.14 5.5H9.83v-1.256c1.808-.618 3.103-2.285 3.103-4.244 0-2.485-2.083-4.5-4.654-4.5-1.14 0-2.184.396-2.993 1.053L6.69 4.13c.45.344.398.826-.11 1.08L0 8.5 1.142.992c.083-.547.514-.714.963-.37l1.532 1.172z",fill:"#fff",id:"turnLeft"}),te.el("path",{d:"M0 0L4 4L0 8Z",fill:"#111",id:"addInput"}),te.el("path",{d:"M4 0L4 8L0 4Z",fill:"#111",id:"delInput"}),te.setProps(te.group([te.el("path",{d:"M8 0l2 -2l0 -3l3 0l-4 -5l-4 5l3 0l0 3l-8 0l0 2",fill:"#000",opacity:"0.3"}),te.move(-1,-1,te.el("path",{d:"M8 0l2 -2l0 -3l3 0l-4 -5l-4 5l3 0l0 3l-8 0l0 2",fill:"#fff",opacity:"0.9"}))]),{id:"loopArrow"}),te.setProps(te.group([te.el("rect",{x:"0",y:"0",width:"12",height:"14",fill:"#000",opacity:"0.25"}),te.el("rect",{x:"1",y:"1",width:"1",height:"13",fill:"#fff"}),te.el("rect",{x:"11",y:"1",width:"1",height:"13",fill:"#fff"}),te.el("rect",{x:"2",y:"1",width:"9",height:"1",fill:"#fff"}),te.el("rect",{x:"2",y:"5",width:"9",height:"1",fill:"#fff"}),te.el("rect",{x:"2",y:"9",width:"9",height:"1",fill:"#fff"}),te.el("rect",{x:"2",y:"13",width:"9",height:"1",fill:"#fff"}),te.el("rect",{x:"2",y:"2",width:"9",height:"2",fill:"#ea8d1c"}),te.el("rect",{x:"2",y:"6",width:"9",height:"2",fill:"#ea8d1c"}),te.el("rect",{x:"2",y:"10",width:"9",height:"2",fill:"#ea8d1c"}),te.el("rect",{x:"11",y:"0",width:"1",height:"1",fill:"#ea8d1c"}),te.el("rect",{x:"0",y:"13",width:"1",height:"1",fill:"#ea8d1c"})]),{id:"list"})]}},{key:"makeStyle",value:function(){var t=te.el("style");return t.appendChild(te.cdata(e.cssContent)),t}},{key:"bevelFilter",value:function(e,t){var i=new ie(e),s="SourceAlpha",r=t?-1:1,n=i.blur(1,s);return i.merge(["SourceGraphic",i.comp("in",i.flood("#fff",.15),i.subtract(s,i.offset(+r,+r,n))),i.comp("in",i.flood("#000",.7),i.subtract(s,i.offset(-r,-r,n)))]),i.el}},{key:"darkFilter",value:function(e){var t=new ie(e);return t.merge(["SourceGraphic",t.comp("in",t.flood("#000",.2),"SourceAlpha")]),t.el}},{key:"darkRect",value:function(e,t,i,s){return te.setProps(te.group([te.setProps(s,{class:"sb-"+i+" sb-darker"})]),{width:e,height:t})}},{key:"defaultFontFamily",get:function(){return"Lucida Grande, Verdana, Arial, DejaVu Sans, sans-serif"}}]),e}(),re=se.defaultFontFamily,ne=se.makeStyle,oe=se.makeIcons,ae=se.darkRect,ce=se.bevelFilter,le=se.darkFilter,he=function(){function e(e){n(this,e),this.el=null,this.height=12,this.metrics=null,this.x=0}return s(e,[{key:"isLabel",get:function(){return!0}},{key:"draw",value:function(){return this.el}},{key:"width",get:function(){return this.metrics.width}},{key:"measure",value:function(){var t=this.value,i="sb-"+this.cls;this.el=te.text(0,10,t,{class:"sb-label "+i});var s=e.metricsCache[i];if(s||(s=e.metricsCache[i]=Object.create(null)),Object.hasOwnProperty.call(s,t))this.metrics=s[t];else{var r=/comment-label/.test(this.cls)?"bold 12px Helevetica, Arial, DejaVu Sans, sans-serif":/literal/.test(this.cls)?"normal 9px "+re:"bold 10px "+re;this.metrics=s[t]=e.measure(t,r)}}}],[{key:"measure",value:function(t,i){var s=e.measuring;return s.font=i,{width:s.measureText(t).width+.5|0}}}]),e}();he.metricsCache={},he.toMeasure=[];var ue=function(){function e(t){n(this,t);var i=e.icons[this.name];if(!i)throw Error("no info for icon: "+this.name);n(this,i)}return s(e,[{key:"isIcon",get:function(){return!0}},{key:"draw",value:function(){return te.symbol("#"+this.name,{width:this.width,height:this.height})}}],[{key:"icons",get:function(){return{greenFlag:{width:20,height:21,dy:-2},stopSign:{width:20,height:20},turnLeft:{width:15,height:12,dy:1},turnRight:{width:15,height:12,dy:1},loopArrow:{width:14,height:11},addInput:{width:4,height:8},delInput:{width:4,height:8},list:{width:12,height:14}}}}]),e}(),pe=function(){function e(e){n(this,e),e.label&&(this.label=me(e.label)),this.x=0}return s(e,[{key:"measure",value:function(){this.hasLabel&&this.label.measure()}},{key:"draw",value:function(t){var i,s;this.hasLabel?(s=this.label.draw(),i=Math.max(14,this.label.width+("string"===this.shape||"number-dropdown"===this.shape?6:9))):i=this.isInset?30:this.isColor?13:null,this.hasArrow&&(i+=10),this.width=i;var r=this.height=this.isRound||this.isColor?13:14,n=e.shapes[this.shape](i,r);this.isColor?te.setProps(n,{fill:this.value}):this.isDarker&&(n=ae(i,r,t.info.category,n),t.info.color&&te.setProps(n,{fill:t.info.color}));var o=te.group([te.setProps(n,{class:"sb-input sb-input-"+this.shape})]);if(this.hasLabel){var a=this.isRound?5:4;o.appendChild(te.move(a,0,s))}if(this.hasArrow){var c="dropdown"===this.shape?5:4;o.appendChild(te.move(i-10,c,te.polygon({points:[7,0,3.5,4,0,0],fill:"#000",opacity:"0.6"})))}return o}}],[{key:"shapes",get:function(){return{string:te.rect,number:te.roundedRect,"number-dropdown":te.roundedRect,color:te.rect,dropdown:te.rect,boolean:te.pointedRect,stack:te.stackRect,reporter:te.roundedRect}}}]),e}(),fe=function(){function e(e){n(this,e),this.children=e.children.map(me),this.comment=this.comment?me(this.comment):null,Object.prototype.hasOwnProperty.call(p,this.info.category)&&(this.info.category=p[this.info.category]),Object.prototype.hasOwnProperty.call(h,this.info.category)?this.info.category=h[this.info.category]:Object.prototype.hasOwnProperty.call(u,this.info.category)&&(this.info.category="extension"),this.x=0,this.width=null,this.height=null,this.firstLine=null,this.innerWidth=null}return s(e,[{key:"isBlock",get:function(){return!0}},{key:"measure",value:function(){var e,t=l(this.children);try{for(t.s();!(e=t.n()).done;){var i=e.value;i.measure&&i.measure()}}catch(e){t.e(e)}finally{t.f()}this.comment&&this.comment.measure()}},{key:"drawSelf",value:function(t,i,s){if(s.length>1)return te.mouthRect(t,i,this.isFinal,s,{class:"sb-"+this.info.category+" sb-bevel"});if("outline"===this.info.shape)return te.setProps(te.stackRect(t,i),{class:"sb-outline"});if(this.isRing){var r=this.children[0];if(r&&(r.isStack||r.isBlock||r.isScript)){var n=r.isScript?"stack":r.isStack?r.shape:r.info.shape;return te.ringRect(t,i,r.y,r.width,r.height,n,{class:"sb-"+this.info.category+" sb-bevel"})}}var o=e.shapes[this.info.shape];if(!o)throw Error("no shape func: "+this.info.shape);return o(t,i,{class:"sb-"+this.info.category+" sb-bevel"})}},{key:"minDistance",value:function(e){return this.isBoolean?e.isReporter?4+e.height/4|0:e.isLabel?5+e.height/2|0:e.isBoolean||"boolean"===e.shape?5:2+e.height/2|0:this.isReporter?e.isInput&&e.isRound||(e.isReporter||e.isBoolean)&&!e.hasScript?0:e.isLabel?2+e.height/2|0:e.height/2-2|0:0}},{key:"draw",value:function(){var t="define-hat"===this.info.shape,i=this.children,s=e.padding[this.info.shape]||e.padding.null,r=s[0],n=s[1],o=s[2],a=0,c=function(e){this.y=e,this.width=0,this.height=e?13:16,this.children=[]},h=0,u=0,p=new c(a),f=function(e){0===v.length?p.height+=r+o:(p.height+=e?0:2,p.y-=1),a+=p.height,v.push(p)};if(this.info.isRTL){var d,g=0,y=function(){i=i.slice(0,g).concat(i.slice(g,d).reverse()).concat(i.slice(d))};for(d=0;d<i.length;d++)i[d].isScript&&(y(),g=d+1);g<d&&y()}for(var v=[],m=0;m<i.length;m++){var k=i[m];if(k.el=k.draw(this),k.isScript&&this.isCommand)this.hasScript=!0,f(),k.y=a,v.push(k),u=Math.max(u,Math.max(1,k.width)),k.height=Math.max(12,k.height)+3,a+=k.height,p=new c(a);else if(k.isArrow)p.children.push(k);else{var b=m>0?30:0,w=this.isCommand?0:this.minDistance(k),A=this.isCommand?k.isBlock||k.isInput?b:0:w;A&&!v.length&&p.width<A-n&&(p.width=A-n),k.x=p.width,p.width+=k.width,h=Math.max(h,p.width+Math.max(0,w-n)),p.width+=4,k.isLabel||(p.height=Math.max(p.height,k.height)),p.children.push(k)}}if(f(!0),h=Math.max(h+2*n,this.isHat||this.hasScript?83:this.isCommand||this.isOutline||this.isRing?39:20),this.height=a,this.width=u?Math.max(h,15+u):h,t){var O=Math.min(26,3.5+.13*h|0)-18;this.height+=O,r+=2*O}this.firstLine=v[0],this.innerWidth=h;for(var S=[],L=0,E=v;L<E.length;L++){var T=E[L];if(T.isScript)S.push(te.move(15,T.y,T.el));else{var R,C=T.height,I=l(T.children);try{for(I.s();!(R=I.n()).done;){var M=R.value;if(M.isArrow)S.push(te.move(h-15,this.height-3,M.el));else{var N=r+(C-M.height-r-o)/2-1;if(t&&M.isLabel?N+=3:M.isIcon&&(N+=0|M.dy),!(this.isRing&&(M.y=T.y+N|0,M.isInset)||(S.push(te.move(n+M.x,T.y+N|0,M.el)),"+"!==M.diff))){var x=te.insEllipse(M.width,M.height);S.push(te.move(n+M.x,T.y+N|0,x))}}}}catch(e){I.e(e)}finally{I.f()}}}var B=this.drawSelf(h,this.height,v);return S.splice(0,0,B),this.info.color&&te.setProps(B,{fill:this.info.color}),te.group(S)}}],[{key:"shapes",get:function(){return{stack:te.stackRect,"c-block":te.stackRect,"if-block":te.stackRect,celse:te.stackRect,cend:te.stackRect,cap:te.capRect,reporter:te.roundedRect,boolean:te.pointedRect,hat:te.hatRect,cat:te.hatRect,"define-hat":te.procHatRect,ring:te.roundedRect}}},{key:"padding",get:function(){return{hat:[15,6,2],cat:[15,6,2],"define-hat":[21,8,9],reporter:[3,4,1],boolean:[3,4,2],cap:[6,6,2],"c-block":[3,6,2],"if-block":[3,6,2],ring:[4,4,2],null:[4,6,2]}}}]),e}(),de=function(){function e(e){n(this,e),this.label=me(e.label),this.width=null}return s(e,[{key:"isComment",get:function(){return!0}},{key:"height",get:function(){return 20}},{key:"measure",value:function(){this.label.measure()}},{key:"draw",value:function(){var t=this.label.draw();return this.width=this.label.width+16,te.group([te.commentLine(this.hasBlock?e.lineLength:0,6),te.commentRect(this.width,this.height,{class:"sb-comment"}),te.move(8,4,t)])}}],[{key:"lineLength",get:function(){return 12}}]),e}(),ge=function(){function e(e){n(this,e),this.child=me(e.child),this.width=null,this.height=null,this.y=0}return s(e,[{key:"isGlow",get:function(){return!0}},{key:"measure",value:function(){this.child.measure()}},{key:"drawSelf",value:function(){var e,t=this.child,i=this.width,s=this.height-1;return e=t.isScript?!t.isEmpty&&t.blocks[0].isHat?te.hatRect(i,s):t.isFinal?te.capRect(i,s):te.stackRect(i,s):t.drawSelf(i,s,[]),te.setProps(e,{class:"sb-diff sb-diff-ins"})}},{key:"draw",value:function(){var e=this.child,t=e.isScript?e.draw(!0):e.draw();return this.width=e.width,this.height=e.isBlock&&e.firstLine.height||e.height,te.group([t,this.drawSelf()])}}]),e}(),ye=function(){function e(e){n(this,e),this.blocks=e.blocks.map(me),this.y=0}return s(e,[{key:"isScript",get:function(){return!0}},{key:"measure",value:function(){var e,t=l(this.blocks);try{for(t.s();!(e=t.n()).done;){e.value.measure()}}catch(e){t.e(e)}finally{t.f()}}},{key:"draw",value:function(e){var t=[],i=0;this.width=0;var s,r=l(this.blocks);try{for(r.s();!(s=r.n()).done;){var n=s.value,o=e?0:2,a=n.draw();if(t.push(te.move(o,i,a)),this.width=Math.max(this.width,n.width),"-"===n.diff){var c=n.width,h=n.firstLine.height||n.height;t.push(te.move(o,i+h/2+1,te.strikethroughLine(c))),this.width=Math.max(this.width,n.width)}i+=n.height;var u=n.comment;if(u){var p=n.firstLine,f=n.innerWidth+2+de.lineLength,d=i-n.height+p.height/2,g=u.draw();t.push(te.move(f,d-u.height/2,g)),this.width=Math.max(this.width,f+u.width)}}}catch(e){r.e(e)}finally{r.f()}this.height=i,e||this.isFinal||(this.height+=3);var y=this.blocks[this.blocks.length-1];return!e&&y.isGlow&&(this.height+=2),te.group(t)}}]),e}(),ve=function(){function e(e,t){n(this,e),this.scripts=e.scripts.map(me),this.width=null,this.height=null,this.el=null,this.defs=null,this.scale=t.scale}return s(e,[{key:"measure",value:function(){this.scripts.forEach((function(e){return e.measure()}))}},{key:"render",value:function(e){if("function"==typeof e)throw Error("render() no longer takes a callback");this.measure();var t,i=0,s=0,r=[],n=l(this.scripts);try{for(n.s();!(t=n.n()).done;){var a=t.value;s&&(s+=10),a.y=s,r.push(te.move(0,s,a.draw())),s+=a.height,i=Math.max(i,a.width+4)}}catch(e){n.e(e)}finally{n.f()}this.width=i,this.height=s;var c=te.newSVG(i,s,this.scale);return c.appendChild(this.defs=te.withChildren(te.el("defs"),[ce("bevelFilter",!1),ce("inputBevelFilter",!0),le("inputDarkFilter")].concat(o(oe())))),c.appendChild(te.group(r)),this.el=c,c}},{key:"exportSVGString",value:function(){if(null==this.el)throw Error("call draw() first");var e=ne();this.defs.appendChild(e);var t=(new te.XMLSerializer).serializeToString(this.el);return this.defs.removeChild(e),t}},{key:"exportSVG",value:function(){return"data:image/svg+xml;utf8,"+this.exportSVGString().replace(/[#]/g,encodeURIComponent)}},{key:"toCanvas",value:function(e,t){t=t||1;var i=te.makeCanvas();i.width=Math.max(1,this.width*t*this.scale),i.height=Math.max(1,this.height*t*this.scale);var s=i.getContext("2d"),r=new Image;r.src=this.exportSVG(),r.onload=function(){s.save(),s.scale(t,t),s.drawImage(r,0,0),s.restore(),e(i)}}},{key:"exportPNG",value:function(e,t){this.toCanvas((function(t){URL&&URL.createObjectURL&&Blob&&t.toBlob?t.toBlob((function(t){e(URL.createObjectURL(t))}),"image/png"):e(t.toDataURL("image/png"))}),t)}}]),e}(),me=function(e,t){return new(function(e){switch(e.constructor){case P:return he;case F:return ue;case z:return pe;case H:return fe;case G:return de;case U:return ge;case V:return ye;case _:return ve;default:throw Error("no view for "+e.constructor.name)}}(e))(e,t)};var ke,be,we=se.makeStyle,Ae={textContent:!0},Oe=function(){function e(){}return s(e,null,[{key:"init",value:function(t){ke=t.document;var i=t.DOMParser;be=(new i).parseFromString("<xml></xml>","application/xml"),e.XMLSerializer=t.XMLSerializer}},{key:"makeCanvas",value:function(){return ke.createElement("canvas")}},{key:"cdata",value:function(e){return be.createCDATASection(e)}},{key:"el",value:function(t,i){var s=ke.createElementNS("http://www.w3.org/2000/svg",t);return e.setProps(s,i)}},{key:"setProps",value:function(e,t){for(var i in t){var s=t[i]+"";Ae[i]?e[i]=s:null!=t[i]&&Object.prototype.hasOwnProperty.call(t,i)&&e.setAttributeNS(null,i,s)}return e}},{key:"withChildren",value:function(e,t){var i,s=l(t);try{for(s.s();!(i=s.n()).done;){var r=i.value;e.appendChild(r)}}catch(e){s.e(e)}finally{s.f()}return e}},{key:"group",value:function(t){return e.withChildren(e.el("g"),t)}},{key:"newSVG",value:function(t,i,s){return e.el("svg",{version:"1.1",width:t*s,height:i*s,viewBox:"0 0 "+t*s+" "+i*s})}},{key:"polygon",value:function(i){return e.el("polygon",t(t({},i),{},{points:i.points.join(" ")}))}},{key:"path",value:function(i){return e.el("path",t(t({},i),{},{path:null,d:i.path.join(" ")}))}},{key:"text",value:function(i,s,r,n){var o=e.el("text",t(t({},n),{},{x:i,y:s,textContent:r}));return o}},{key:"symbol",value:function(t){return e.el("use",{href:t})}},{key:"move",value:function(t,i,s){return e.setProps(s,{transform:"translate("+t+" "+i+")"}),s}},{key:"rect",value:function(i,s,r){return e.el("rect",t(t({},r),{},{x:0,y:0,width:i,height:s}))}},{key:"roundRect",value:function(i,s,r){return e.rect(i,s,t(t({},r),{},{rx:4,ry:4}))}},{key:"pillRect",value:function(i,s,r){var n=s/2;return e.rect(i,s,t(t({},r),{},{rx:n,ry:n}))}},{key:"pointedPath",value:function(e,t){var i=t/2;return["M "+i+" 0","L "+(e-i)+" 0 "+e+" "+i,"L "+e+" "+i+" "+(e-i)+" "+t,"L "+i+" "+t+" 0 "+i,"L 0 "+i+" "+i+" 0","Z"]}},{key:"pointedRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:e.pointedPath(i,s)}))}},{key:"topNotch",value:function(e,t){return"c 2 0 3 1 4 2\n l 4 4\n c 1 1 2 2 4 2\n h 12\n c 2 0 3 -1 4 -2\n l 4 -4\n c 1 -1 2 -2 4 -2\n L "+(e-4)+" "+t+"\n a 4 4 0 0 1 4 4"}},{key:"getTop",value:function(t){return"M 0 4\n A 4 4 0 0 1 4 0\n H 12 "+e.topNotch(t,0)}},{key:"getRingTop",value:function(e){return"M 0 3\n L 3 0\n L 7 0\n L 10 3\n L 16 3\n L 19 0\n L "+(e-3)+" 0\n L "+e+" 3"}},{key:"getRightAndBottom",value:function(e,t,i,s){void 0===s&&(s=0);var r=["L "+e+" "+(t-4),"a 4 4 0 0 1 -4 4"];return i&&(r=r.concat(["L "+(s+48)+" "+t,"c -2 0 -3 1 -4 2","l -4 4","c -1 1 -2 2 -4 2","h -12","c -2 0 -3 -1 -4 -2","l -4 -4","c -1 -1 -2 -2 -4 -2"])),0===s?(r.push("L",s+4,t),r.push("a 4 4 0 0 1 -4 -4")):(r.push("L",s+4,t),r.push("a 4 4 0 0 0 -4 4")),r.join(" ")}},{key:"getArm",value:function(t,i){return"L 16 "+(i-4)+"\n a 4 4 0 0 0 4 4\n L 28 "+i+" "+e.topNotch(t,i)}},{key:"getArmNoNotch",value:function(e,t){return"L 16 "+(t-4)+"\n a 4 4 0 0 0 4 4\n L 28 "+t+" L "+(e-4)+" "+t+"\n a 4 4 0 0 1 4 4"}},{key:"stackRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:[e.getTop(i),e.getRightAndBottom(i,s,!0,0),"Z"]}))}},{key:"capPath",value:function(t,i){return[e.getTop(t),e.getRightAndBottom(t,i,!1,0),"Z"]}},{key:"capRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:e.capPath(i,s)}))}},{key:"getHatTop",value:function(e){return"M 0 16 c 25,-22 71,-22 96,0 L "+(e-4)+" 16 a 4 4 0 0 1 4 4"}},{key:"getCatTop",value:function(e){return"M 0 32\n c2.6,-2.3 5.5,-4.3 8.5,-6.2c-1,-12.5 5.3,-23.3 8.4,-24.8c3.7,-1.8 16.5,13.1 18.4,15.4c8.4,-1.3 17,-1.3 25.4,0c1.9,-2.3 14.7,-17.2 18.4,-15.4c3.1,1.5 9.4,12.3 8.4,24.8c3,1.8 5.9,3.9 8.5,6.1\n L "+(e-4)+" 32\n a 4 4 0 0 1 4 4"}},{key:"hatRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:[e.getHatTop(i),e.getRightAndBottom(i,s,!0,0),"Z"]}))}},{key:"catHat",value:function(i,s,r){return e.group([e.path(t(t({},r),{},{path:[e.getCatTop(i),e.getRightAndBottom(i,s,!0,0),"Z"]})),e.move(0,32,e.setProps(e.group([e.el("circle",{cx:29.1,cy:-3.3,r:3.4}),e.el("circle",{cx:59.2,cy:-3.3,r:3.4}),e.el("path",{d:"M45.6,0.1c-0.9,0-1.7-0.3-2.3-0.9c-0.6,0.6-1.3,0.9-2.2,0.9c-0.9,0-1.8-0.3-2.3-0.9c-1-1.1-1.1-2.6-1.1-2.8c0-0.5,0.5-1,1-1l0,0c0.6,0,1,0.5,1,1c0,0.4,0.1,1.7,1.4,1.7c0.5,0,0.7-0.2,0.8-0.3c0.3-0.3,0.4-1,0.4-1.3c0-0.1,0-0.1,0-0.2c0-0.5,0.5-1,1-1l0,0c0.5,0,1,0.4,1,1c0,0,0,0.1,0,0.2c0,0.3,0.1,0.9,0.4,1.2C44.8-2.2,45-2,45.5-2s0.7-0.2,0.8-0.3c0.3-0.4,0.4-1.1,0.3-1.3c0-0.5,0.4-1,0.9-1.1c0.5,0,1,0.4,1.1,0.9c0,0.2,0.1,1.8-0.8,2.8C47.5-0.4,46.8,0.1,45.6,0.1z"})]),{fill:"#000","fill-opacity":.6})),e.move(0,32,e.el("path",{d:"M73.1-15.6c1.7-4.2,4.5-9.1,5.8-8.5c1.6,0.8,5.4,7.9,5,15.4c0,0.6-0.7,0.7-1.1,0.5c-3-1.6-6.4-2.8-8.6-3.6C72.8-12.3,72.4-13.7,73.1-15.6z",fill:"#FFD5E6",transform:"translate(0, 32)"})),e.move(0,32,e.el("path",{d:"M22.4-15.6c-1.7-4.2-4.5-9.1-5.8-8.5c-1.6,0.8-5.4,7.9-5,15.4c0,0.6,0.7,0.7,1.1,0.5c3-1.6,6.4-2.8,8.6-3.6C22.8-12.3,23.2-13.7,22.4-15.6z",fill:"#FFD5E6",transform:"translate(0, 32)"}))])}},{key:"getProcHatTop",value:function(e){return"M 0 20 a 20 20 0 0 1 20 -20 L "+(e-20)+" 0 a 20,20 0 0,1 20,20"}},{key:"procHatRect",value:function(i,s,r){return e.path(t(t({},r),{},{path:[e.getProcHatTop(i),e.getRightAndBottom(i,s,!0,0),"Z"]}))}},{key:"mouthRect",value:function(i,s,r,n,o){for(var a=n[0].height,c=[e.getTop(i),e.getRightAndBottom(i,a,!0,16)],l=1;l<n.length;l+=2){var h=l+2===n.length,u=n[l];a+=u.height-3,u.isFinal?c.push(e.getArmNoNotch(i,a)):c.push(e.getArm(i,a));var p=!(h&&r),f=h?0:16;a+=n[l+1].height+3,c.push(e.getRightAndBottom(i,a,p,f))}return c.push("Z"),e.path(t(t({},o),{},{path:c}))}},{key:"commentRect",value:function(i,s,r){return e.roundRect(i,s,t(t({},r),{},{class:"sb3-comment"}))}},{key:"commentLine",value:function(i,s){return e.move(-i,9,e.rect(i,2,t(t({},s),{},{class:"sb3-comment-line"})))}},{key:"strikethroughLine",value:function(i,s){return e.path(t(t({},s),{},{path:["M",0,0,"L",i,0],class:"sb3-diff sb3-diff-del"}))}}]),e}(),Se=function(){function e(){}return s(e,null,[{key:"cssContent",get:function(){return".sb3-label{font:500 12pt Helevetica Neue,Helvetica,sans-serif;fill:#fff;word-spacing:1pt}.sb3-motion{fill:#4c97ff;stroke:#3373cc}.sb3-motion-alt{fill:#4280d7}.sb3-motion-dark{fill:#4c97ff}.sb3-looks{fill:#96f;stroke:#774dcb}.sb3-looks-alt{fill:#855cd6}.sb3-looks-dark{fill:#bd42bd}.sb3-sound{fill:#cf63cf;stroke:#bd42bd}.sb3-sound-alt{fill:#c94fc9}.sb3-sound-dark{fill:#bd42bd}.sb3-control{fill:#ffab19;stroke:#cf8b17}.sb3-control-alt{fill:#ec9c13}.sb3-control-dark{fill:#cf8b17}.sb3-events{fill:#ffbf00;stroke:#c90}.sb3-events-alt{fill:#e6ac00}.sb3-events-dark{fill:#c90}.sb3-sensing{fill:#5cb1d6;stroke:#2e8eb8}.sb3-sensing-alt{fill:#47a8d1}.sb3-sensing-dark{fill:#2e8eb8}.sb3-operators{fill:#59c059;stroke:#389438}.sb3-operators-alt{fill:#46b946}.sb3-operators-dark{fill:#389438}.sb3-variables{fill:#ff8c1a;stroke:#db6e00}.sb3-variables-alt{fill:#ff8000}.sb3-variables-dark{fill:#db6e00}.sb3-list{fill:#ff661a;stroke:#e64d00}.sb3-list-alt{fill:#f50}.sb3-list-dark{fill:#e64d00}.sb3-custom{fill:#ff6680;stroke:#f35}.sb3-custom-alt{fill:#ff4d6a}.sb3-custom-dark{fill:#f35}.sb3-custom-arg{fill:#ff6680;stroke:#f35}.sb3-extension{fill:#0fbd8c;stroke:#0b8e69}.sb3-extension-alt{fill:#0da57a}.sb3-extension-line{stroke:#0da57a}.sb3-extension-dark{fill:#0b8e69}.sb3-obsolete{fill:#ed4242;stroke:#ca2b2b}.sb3-obsolete-alt{fill:#db3333}.sb3-obsolete-dark{fill:#ca2b2b}.sb3-grey{fill:#bfbfbf;stroke:#909090}.sb3-grey-alt{fill:#b2b2b2}.sb3-grey-dark{fill:#909090}.sb3-input-color{stroke:#fff}.sb3-input-number,.sb3-input-string{fill:#fff}.sb3-literal-dropdown,.sb3-literal-number,.sb3-literal-number-dropdown,.sb3-literal-string{word-spacing:0}.sb3-literal-number,.sb3-literal-string{fill:#575e75}.sb3-comment{fill:#ffffa5;stroke:#d0d1d2;stroke-width:1}.sb3-comment-line{fill:#ffff80}.sb3-comment-label{font:400 12pt Helevetica Neue,Helvetica,sans-serif;fill:#000;word-spacing:0}.sb3-diff{fill:none;stroke:#000}.sb3-diff-ins{stroke-width:2px}.sb3-diff-del{stroke-width:3px}"}},{key:"makeIcons",value:function(){return[Oe.setProps(Oe.group([Oe.el("path",{d:"M20.8 3.7c-.4-.2-.9-.1-1.2.2-2 1.6-4.8 1.6-6.8 0-2.3-1.9-5.6-2.3-8.3-1v-.4c0-.6-.5-1-1-1s-1 .4-1 1v18.8c0 .5.5 1 1 1h.1c.5 0 1-.5 1-1v-6.4c1-.7 2.1-1.2 3.4-1.3 1.2 0 2.4.4 3.4 1.2 2.9 2.3 7 2.3 9.8 0 .3-.2.4-.5.4-.9V4.7c0-.5-.3-.9-.8-1zm-.3 10.2C18 16 14.4 16 11.9 14c-1.1-.9-2.5-1.4-4-1.4-1.2.1-2.3.5-3.4 1.1V4c2.5-1.4 5.5-1.1 7.7.6 2.4 1.9 5.7 1.9 8.1 0h.2l.1.1-.1 9.2z",fill:"#45993d"}),Oe.el("path",{d:"M20.6 4.8l-.1 9.1v.1c-2.5 2-6.1 2-8.6 0-1.1-.9-2.5-1.4-4-1.4-1.2.1-2.3.5-3.4 1.1V4c2.5-1.4 5.5-1.1 7.7.6 2.4 1.9 5.7 1.9 8.1 0h.2c0 .1.1.1.1.2z",fill:"#4cbf56"})]),{id:"sb3-greenFlag"}),Oe.setProps(Oe.el("polygon",{points:"6.6,0.5 13.12,0.5 19.5,6.6 19.5,13.12 13.12,19.5 6.6,19.5 0.5,13.12 0.5,6.6 ",fill:"#ec5959",stroke:"#b84848","stroke-linejoin":"round","stroke-linecap":"round"}),{id:"sb3-stopSign"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M12.71 2.44A2.41 2.41 0 0 1 12 4.16L8.08 8.08a2.45 2.45 0 0 1-3.45 0L.72 4.16A2.42 2.42 0 0 1 0 2.44 2.48 2.48 0 0 1 .71.71C1 .47 1.43 0 6.36 0s5.39.46 5.64.71a2.44 2.44 0 0 1 .71 1.73z",fill:"#231f20",opacity:".1"}),Oe.el("path",{d:"M6.36 7.79a1.43 1.43 0 0 1-1-.42L1.42 3.45a1.44 1.44 0 0 1 0-2c.56-.56 9.31-.56 9.87 0a1.44 1.44 0 0 1 0 2L7.37 7.37a1.43 1.43 0 0 1-1.01.42z",fill:"#fff"})]),{id:"sb3-dropdownArrow",transform:"scale(0.944)"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M22.68 12.2a1.6 1.6 0 0 1-1.27.63h-7.69a1.59 1.59 0 0 1-1.16-2.58l1.12-1.41a4.82 4.82 0 0 0-3.14-.77 4.31 4.31 0 0 0-2 .8A4.25 4.25 0 0 0 7.2 10.6a5.06 5.06 0 0 0 .54 4.62A5.58 5.58 0 0 0 12 17.74a2.26 2.26 0 0 1-.16 4.52A10.25 10.25 0 0 1 3.74 18a10.14 10.14 0 0 1-1.49-9.22 9.7 9.7 0 0 1 2.83-4.14A9.92 9.92 0 0 1 9.66 2.5a10.66 10.66 0 0 1 7.72 1.68l1.08-1.35a1.57 1.57 0 0 1 1.24-.6 1.6 1.6 0 0 1 1.54 1.21l1.7 7.37a1.57 1.57 0 0 1-.26 1.39z",fill:"#3d79cc"}),Oe.el("path",{d:"M21.38 11.83h-7.61a.59.59 0 0 1-.43-1l1.75-2.19a5.9 5.9 0 0 0-4.7-1.58 5.07 5.07 0 0 0-4.11 3.17A6 6 0 0 0 7 15.77a6.51 6.51 0 0 0 5 2.92 1.31 1.31 0 0 1-.08 2.62 9.3 9.3 0 0 1-7.35-3.82 9.16 9.16 0 0 1-1.4-8.37A8.51 8.51 0 0 1 5.71 5.4a8.76 8.76 0 0 1 4.11-1.92 9.71 9.71 0 0 1 7.75 2.07l1.67-2.1a.59.59 0 0 1 1 .21L22 11.08a.59.59 0 0 1-.62.75z",fill:"#fff"})]),{id:"sb3-turnRight"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M20.34 18.21a10.24 10.24 0 0 1-8.1 4.22 2.26 2.26 0 0 1-.16-4.52 5.58 5.58 0 0 0 4.25-2.53 5.06 5.06 0 0 0 .54-4.62A4.25 4.25 0 0 0 15.55 9a4.31 4.31 0 0 0-2-.8 4.82 4.82 0 0 0-3.15.8l1.12 1.41A1.59 1.59 0 0 1 10.36 13H2.67a1.56 1.56 0 0 1-1.26-.63A1.54 1.54 0 0 1 1.13 11l1.72-7.43A1.59 1.59 0 0 1 4.38 2.4a1.57 1.57 0 0 1 1.24.6L6.7 4.35a10.66 10.66 0 0 1 7.72-1.68A9.88 9.88 0 0 1 19 4.81 9.61 9.61 0 0 1 21.83 9a10.08 10.08 0 0 1-1.49 9.21z",fill:"#3d79cc"}),Oe.el("path",{d:"M19.56 17.65a9.29 9.29 0 0 1-7.35 3.83 1.31 1.31 0 0 1-.08-2.62 6.53 6.53 0 0 0 5-2.92 6.05 6.05 0 0 0 .67-5.51 5.32 5.32 0 0 0-1.64-2.16 5.21 5.21 0 0 0-2.48-1A5.86 5.86 0 0 0 9 8.84L10.74 11a.59.59 0 0 1-.43 1H2.7a.6.6 0 0 1-.6-.75l1.71-7.42a.59.59 0 0 1 1-.21l1.67 2.1a9.71 9.71 0 0 1 7.75-2.07 8.84 8.84 0 0 1 4.12 1.92 8.68 8.68 0 0 1 2.54 3.72 9.14 9.14 0 0 1-1.33 8.36z",fill:"#fff"})]),{id:"sb3-turnLeft"}),Oe.el("path",{d:"M0 0L4 4L0 8Z",fill:"#111",id:"sb3-addInput"}),Oe.el("path",{d:"M4 0L4 8L0 4Z",fill:"#111",id:"sb3-delInput"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M23.3 11c-.3.6-.9 1-1.5 1h-1.6c-.1 1.3-.5 2.5-1.1 3.6-.9 1.7-2.3 3.2-4.1 4.1-1.7.9-3.6 1.2-5.5.9-1.8-.3-3.5-1.1-4.9-2.3-.7-.7-.7-1.9 0-2.6.6-.6 1.6-.7 2.3-.2H7c.9.6 1.9.9 2.9.9s1.9-.3 2.7-.9c1.1-.8 1.8-2.1 1.8-3.5h-1.5c-.9 0-1.7-.7-1.7-1.7 0-.4.2-.9.5-1.2l4.4-4.4c.7-.6 1.7-.6 2.4 0L23 9.2c.5.5.6 1.2.3 1.8z",fill:"#cf8b17"}),Oe.el("path",{d:"M21.8 11h-2.6c0 1.5-.3 2.9-1 4.2-.8 1.6-2.1 2.8-3.7 3.6-1.5.8-3.3 1.1-4.9.8-1.6-.2-3.2-1-4.4-2.1-.4-.3-.4-.9-.1-1.2.3-.4.9-.4 1.2-.1 1 .7 2.2 1.1 3.4 1.1s2.3-.3 3.3-1c.9-.6 1.6-1.5 2-2.6.3-.9.4-1.8.2-2.8h-2.4c-.4 0-.7-.3-.7-.7 0-.2.1-.3.2-.4l4.4-4.4c.3-.3.7-.3.9 0L22 9.8c.3.3.4.6.3.9s-.3.3-.5.3z",fill:"#fff"})]),{id:"sb3-loopArrow"}),Oe.setProps(Oe.group([Oe.el("rect",{x:"0",y:"0",width:"15",height:"18",fill:"#fff"}),Oe.el("rect",{x:"1",y:"1",width:"13",height:"4",fill:"#ff920f"}),Oe.el("rect",{x:"1",y:"7",width:"13",height:"4",fill:"#ff920f"}),Oe.el("rect",{x:"1",y:"13",width:"13",height:"4",fill:"#ff920f"})]),{id:"sb3-list"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M28.456 21.675c-.009-.312-.087-.825-.256-1.702-.096-.495-.612-3.022-.753-3.73-.395-1.98-.76-3.92-1.142-6.113-.732-4.223-.693-6.05.344-6.527.502-.23 1.06-.081 1.842.35.413.227 2.181 1.365 2.07 1.296 1.993 1.243 3.463 1.775 4.928 1.549 1.527-.237 2.505-.06 2.877.618.348.635.015 1.416-.729 2.18-1.473 1.516-3.976 2.514-5.849 2.023-.822-.218-1.238-.464-2.38-1.266a9.737 9.737 0 0 0-.095-.066c.047.593.264 1.74.717 3.803.294 1.336 2.079 9.187 2.637 11.674l.002.012c.529 2.637-1.872 4.724-5.235 4.724-3.29 0-6.363-1.988-6.862-4.528-.53-2.64 1.873-4.734 5.233-4.734a8.411 8.411 0 0 1 2.65.437zM11.46 27.666c-.01-.319-.091-.84-.266-1.738-.09-.46-.595-2.937-.753-3.727-.39-1.96-.752-3.892-1.131-6.07-.732-4.224-.692-6.052.344-6.527.502-.23 1.06-.082 1.841.349.414.228 2.181 1.365 2.07 1.296 1.992 1.243 3.461 1.775 4.925 1.549 1.525-.24 2.504-.064 2.876.614.348.635.015 1.415-.728 2.18-1.474 1.517-3.977 2.513-5.847 2.017-.822-.218-1.237-.463-2.38-1.266a9.729 9.729 0 0 0-.094-.065c.047.593.264 1.74.717 3.802.294 1.337 2.078 9.19 2.636 11.675l.003.013c.517 2.638-1.884 4.732-5.234 4.732-3.286 0-6.359-1.993-6.87-4.54-.518-2.639 1.885-4.73 5.242-4.73.904 0 1.802.15 2.65.436z",stroke:"#000","stroke-opacity":".1"}),Oe.el("path",{d:"M32.18 25.874C32.636 28.157 30.512 30 27.433 30c-3.07 0-5.923-1.843-6.372-4.126-.458-2.285 1.665-4.136 4.743-4.136.647 0 1.283.084 1.89.234a7 7 0 0 1 .938.302c.87-.02-.104-2.294-1.835-12.229-2.134-12.303 3.06-1.87 8.768-2.753 5.708-.885.076 4.82-3.65 3.844-3.724-.987-4.65-7.153.263 14.738zm-16.998 5.99C15.63 34.148 13.507 36 10.439 36c-3.068 0-5.92-1.852-6.379-4.136-.448-2.284 1.674-4.135 4.751-4.135 1.002 0 1.974.197 2.854.544.822-.055-.15-2.377-1.862-12.228-2.133-12.303 3.059-1.87 8.764-2.753 5.706-.894.076 4.821-3.648 3.834-3.723-.987-4.648-7.152.263 14.738z",fill:"#FFF"})]),{id:"sb3-musicBlock",fill:"none"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M8.753 34.602l-4.251 1.779 1.784-4.236c1.218-2.892 2.907-5.423 5.03-7.538L31.066 4.93c.846-.842 2.65-.41 4.032.967 1.38 1.375 1.816 3.173.97 4.015L16.318 29.59c-2.123 2.116-4.664 3.799-7.565 5.012",fill:"#FFF"}),Oe.el("path",{d:"M29.41 6.111s-4.45-2.379-8.202 5.771c-1.734 3.766-4.35 1.546-4.35 1.546"}),Oe.el("path",{d:"M36.42 8.825c0 .463-.14.873-.432 1.164l-9.335 9.301c.282-.29.41-.668.41-1.12 0-.874-.507-1.963-1.406-2.868-1.362-1.358-3.147-1.8-4.002-.99L30.99 5.01c.844-.84 2.65-.41 4.035.96.898.904 1.396 1.982 1.396 2.855M10.515 33.774a23.74 23.74 0 0 1-1.764.83L4.5 36.382l1.786-4.235c.258-.604.529-1.186.833-1.757.69.183 1.449.625 2.109 1.282.659.658 1.102 1.412 1.287 2.102",fill:"#4C97FF"}),Oe.el("path",{d:"M36.498 8.748c0 .464-.141.874-.433 1.165l-19.742 19.68c-2.131 2.111-4.673 3.793-7.572 5.01L4.5 36.381l.974-2.317 1.925-.808c2.899-1.218 5.441-2.899 7.572-5.01l19.742-19.68c.292-.292.432-.702.432-1.165 0-.647-.27-1.4-.779-2.123.249.172.498.377.736.614.898.905 1.396 1.983 1.396 2.856",fill:"#575E75",opacity:".15"}),Oe.el("path",{d:"M18.45 12.831a.904.904 0 1 1-1.807 0 .904.904 0 0 1 1.807 0z",fill:"#575E75"})]),{id:"sb3-penBlock",stroke:"#575E75",fill:"none","stroke-linejoin":"round"}),Oe.setProps(Oe.group([Oe.el("circle",{opacity:.25,cx:32,cy:16,r:4.5}),Oe.el("circle",{opacity:.5,cx:32,cy:12,r:4.5}),Oe.el("circle",{opacity:.75,cx:32,cy:8,r:4.5}),Oe.el("circle",{cx:32,cy:4,r:4.5}),Oe.el("path",{d:"M22.672 4.42l-6.172 4V6.1c0-2.01-1.563-3.6-3.5-3.6H4.1C2.076 2.5.5 4.076.5 6.1V14c0 1.927 1.584 3.512 3.6 3.6H13c1.902 0 3.5-1.653 3.5-3.6v-2.283l6.257 3.754.097.075c.02.02.098.054.146.054.267 0 .5-.217.5-.5V4.8c0 .037-.056-.094-.129-.243-.145-.242-.43-.299-.7-.137z",fill:"#4D4D4D","stroke-linejoin":"round"})]),{id:"sb3-videoBlock",stroke:"#000",fill:"#FFF","stroke-opacity":.15}),Oe.setProps(Oe.group([Oe.el("path",{d:"M25.644 20.5c-1.667 1.937-4.539 3.429-5.977 3.429a1.25 1.25 0 0 1-.557-.137c-.372-.186-.61-.542-.61-1.03 0-.105.017-.207.05-.308.076-.236.624-.986.727-1.173.27-.484.462-1.075.566-1.865A8.5 8.5 0 0 1 24 3.5h4a8.5 8.5 0 1 1 0 17h-2.356z",fill:"#FFF"}),Oe.el("path",{d:"M15.5 21.67c0-1.016-1.494-1.586-2.387-.782l-2.7 2.163A5.958 5.958 0 0 1 6.7 24.33h-.4c-1.035 0-1.8.69-1.8 1.573v4.235c0 .883.765 1.572 1.8 1.572h.4c1.458 0 2.754.423 3.82 1.287l2.598 2.161c.908.75 2.382.188 2.382-.876V21.67z",fill:"#4D4D4D"})]),{id:"sb3-ttsBlock",stroke:"#000","stroke-opacity":.15}),Oe.el("image",{id:"sb3-translateBlock",width:"40px",height:"40px",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAA21BMVEUAAAAAAAAAAAAAAADS0tIAAABHR0cAAADX19cAAAAAAACkpKRqamq2traurq6WlpbV1dWEhITHx8fPz8/Ly8vDw8O9vb0AAABMTEz////Z2dlXXnVMl//g4ODu7u7m5ub4+PhPmf/x8fH09PT6+vri4uNRmv/r6+1uqv/0+P9Ynv/p8v+rrrphZ33S5f+51v9ho/+1uMKBhpfH3v+Wmqhrcoacxf+Pvv/KzNSgpLGLkKDd6/+rzf9npv/AwsuDtv98s/90rv9jpP9GieeOrtm5ubl2fI7Z4u56otk5hEFfAAAAGXRSTlMAJhgM1wYyHvIkEWpBhXhc5U+uybyhk0YvleQYgwAABDpJREFUWMPtmNl6mzAQhQMCBAYbvLX1GIwxi7e2TtosTdKk+/L+T1QBVoQtJHDby5yLROYTPzOagSM4e9az6oVUrDgKxh39//Bwb+QBkTZ2VL3hypYilKWicpY6gmWcTCbxIoSh0xHjOkZXA4m0rlGcrcBsslcSmrYq4qm2GczmE6Hms6A8W4GQHZ1BTxXweuTCErGz1TEEaTpLymML6HVq87VhIWPRs21yNu679guNXn9hOnWVMUwanzxG0yCTdYQQts195umwJmnUDSatFHQRPaVvljkl4CAuRlWrCfD9uiZEbR+ObrnjfRDhwHUtdAi0gK/vLtts+VqDVfIMjZSmLEycBuD1D4kK8MHc+Ju3/FFQaHdXc4rBU/8NiCE+OJyAIQKuz32qjA7O1xzwqMtiUETAXeRzinZcyoPgsPpDcco3q9WD729WhTI/e1itbriUzwwtqPI0Q5et4ZoA6SDj1pCWOeB44qJ88aOiIB8j/xMH5IiUJwG+jfyHPMCNH20FQEpkPGnbnBeFuI78Fd82VWJCeTyQCzHb3pMCb8VAQhxBCkPKkzf2Z9J9mR9dCxqb3tBO17EoTw4ky0f0VXSnUCGE6LDp1tvlwK0cyNQMJA1DlL3Px8TenvTjpcAN5cD7VVSsoR992c4oS+aGcuDbzxFBfVqvv5L/375DCzeUAXfnOW5TJHudffvdzg3FwPdZvnbX6/LXr+9t3ZCzAAaMNh/X9BdAWzcUm9T2vnrpk91QbqOhLEDeDZuNHkBSX94Nm7ciAJOWAkW8WZIDl1MikAD57ZwceJsDL0VAfsPJwgzzO5cHvsmBb2IJkAlhB5InntlXlJcc8MO00GMzsHTbsMJDdU+hOxIeCfKuXYQu7ZJ5oDmExwPjfAEvyZ9lGyDW9tOWMH6l1z4nLwjrQ572RRugAvMS57mq4MH7czq9Kgpz1QZoDcI4DsHrWUjw4E1JbLeTSZ5z2gLYMTTwBnaOEwBvS1Ke86UUyF7isKpLrIHkSvVGBORdUQx8nFb0KAUy38aSCO8I510hMrhrBOrGEFIYGToPZM+Fn+XwiraiAMh2Uwnb+3DAC9Z/t3TIA2W7MwZkYbH+uZIC+f0jD3z9+vXF05hIAJTtcK3TLIDnMSLnhqeZlDo8eksYqH/3UskWPz7aCuDTX3urMiA5ejHCp7+YV4W9gxBnMFJP/XRwKNT3IEhLZpIGQMp86seNY6LlutRQgrFr6dLPLyELjm44eemIWt6C+JP0A1HffCIm4GDEw2jvpNTxbIwQ0kUTUYUYkgYTSXfMBU1Ee+G6fSwkOlpA/RFcJCR2erRHkllKSjNWhdd+NQbqkJrgunyPhKBIprpeiZyLZtEeCRNWQdlUZPU8yF1yYJ1J1HGGEC5iknS8pN0tRtoDDzTSNDLpqjMu2s4b9fBZg/TcJVHjrA7GSl/JZz7rWbX6A0ZzUfwVEqfrAAAAAElFTkSuQmCC"}),Oe.el("image",{id:"sb3-microbitBlock",width:"40px",height:"40px",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAACmlBMVEUAAAArKysrIB8lJCNBRlY2O0U9X48sKCvOoBQzKzMnJyfrswi/xdDRoxN2dnbToxPosgnmsAq/lxo6MSq0kCLOoRXKnhbEmhc7LRooJCTcqQ7OoBXstAjpsgi9lhuvjCCPdSd4Zyg2NjZMi+Slhyq8lR5CR1fZqBG+lh3ttQjFnBnLnhbDmhqZore3kh5ARlW2kR6qiCGcfyU6QEtyYyd4ZSDSoxOGdDedgizLnhfgrA25kx9YXWqbgCxMUWDfqwzcqg/VphBBR1ecpLmcgSzHmxijq77BmRprYkOOlKZARlVGdbabo7m3kRxGcrKwjB9ARVSIjaCZobuVeyahgh+VdyE8XIOLayBIOydBR1f/vwBMl//m5+g+Q1JlanY6P0uCiJjj5OU9QVBARVQ/RFP9vgBFZpjk5ebwtgbzuAR0eotARlZITl3d3+KNlKRQVmRNUmGxs7mRlJtUW2nLnhfInRfpsQn1uQS/wsa0t7qlp62doKeKjpeBg41YXmxCSlvGyMtHb6xCUGlCTGBJgdJDSFVobXlMlPhLhtq/wchIesFGbqpDVXRXXGxCTGNiXEe+lh1LjuzP0dRJg9RIfslJfMW9v8RGbKRFY5Jzd4NdYm88QE1+bjrQpCHQohTxtwVLkPDa3OHd3t9If826vMCusLZHcrGIj6F6gpaDho9ESlpITFOQeTLcqhnEmhnqsw34uwVKkfNNhdi6vMRLUWBPUFC7lzDWpx31uQjutQj6vAP5+frZ29zZ2dvW2NtHc7JGbKVFaJx/hpl/hpdxd4hzd4JDWHpDUm5UWWiZhEh3aT6WfC/EnSqtiyW/lxzBmRpKi+VQgMhRermqq7BSdrCLjpVEXYVEW4A/SFtOT1BaV0pxZUCpjT2xkTcYNOUYAAAAWXRSTlMADBgV5DRLEdcIE+3Z2QLt6unOI/zp1dEcDf7z7eu9qVtFBPv7+/fx7u3p3NnOzcq0lXZENzD6+fj39vTm5uXk4t3c2tbS0c/NvrCopKKcm4yLbGpiTUA3JzDAPbYAAAQqSURBVFjD7dX1fxJhHMDxE+MIRRFrdnd3d3fr9ziwhsVsmC2K6HRTtzlb0ens2uzu7m79X3z4HufdwTNvj/qbfPYaPDe+vMf23AEXL168/6bBTfoWx5r0GskxVMhsoDfg3Lb12LlzIwz0zKZYzzy0lkPVKtXdutXw++o2a5UQ7SUMcqibGpA8kD09slX0azRkazwISB5Inn4D+ShwrNYjIHpQQA96mqPAYlqPgOhBAT0oUpgGyh6C6EHYWz11e7jbO9hAxUMQPezR6+wtW0nBlJzV7CB62nIyN/mB5H/ouM0G0j3ITIXsAMDUVMjcygbSPQgqrzCNDaR7sCEzO2cLKSvlLNP/ED1qgbRbh0m37viBAUSPvU/BYFZWcAMFRI+9HW/fOFLSgAaixw6erZWS5qeBVG+XKwlghWsuwALXHIA5rgUAc10r1KADvViwKNDaLO4EWCQuA5gnLgVYKs4DWCYuUoPoFRhcKa4FWCwuB1gizgeYLy4BWC4uBqWPq9Cjg55EJ5bogUi7J0wBmDwhMXzjBHBOmAyQSG4wnPd4cJ4Kejbem4gdTQL9NPN00Hlk0jRs//0p+puinaeDs0XxwMFtk8RZM6fob4pmPl/wxtqkOcemIai7Kco8HTx/88Ns8dBxgMcrEdTfFKcyP/9m1xhwwbV30sBGCdTPqczPu9Y5BoTzZODAg6S5kT9Zf1PU8+fz25TrTJuizOd32kjtL9CmaOfpJ/Zd5UTV3RTtfP6X3mfl0tNNuVSpILYp5xHL25ccFUQv9cwGhrcvPZB4jgiovyn6IHrrZFB/U/RBf6rD8f4sgqzRwTtZQfKZGPiXm4Kxb8rff6awgf9sU5jTB9O79G63BqTW1C5baQ9geNSwvnIEJ8s2PCkPXqhTtlM6HUxvWpiv3h6kyozmDY2egnzUkjc3/3X0bAjPt3gW+VWVxvFtSn6hgi9acxzfeI001yiBs46pI7/AkjzHVSgjg5XIkwvXB+xbcxNnGraHCmZUr8nxJS/g3AlC1KzujQgnOpo5axufDFasYLUa2gK2p2ohzlTtJB2sV6NCNSECCtUq1Kj3CxSq2luXlY8gufF4e9PkCLiwpWFULg38+qKiILgFYe9Lr++07zSur4SXr7zeV5Gj0z5vxt69GVcFt1vI874kS6/0pDIZsWB6crLgzhNI+wRhOrm7Sr5n4HIhWeW5yRJ/EBYuS4+5yUN5Vy9fuewT6GDouQq8qAFDITX4/XmuDF788eTJRQpoD4PTT6nAXA14KVcNhshgBDx16VTokk9oZo4Czf0JiEkgpoCYApJkEPMJwxOiQFONDn8DlrRbuWjRXrWEzWKzlOhnLNfHWN5S2Va5cndjufLG8uWMpRs0sFmqdMNliRKlS1nIlw2Xxh5kWaVKC0NNLiarqdAfZ+LixYsX77f9BFJt17cXqnnkAAAAAElFTkSuQmCC"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M23.513 11.17h-.73c-.319 0-.576.213-.576.478v1.08h1.882v-1.08c0-.265-.258-.479-.576-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M24.91 11.17h-.73c-.319 0-.576.213-.576.478v1.08h1.882v-1.08c0-.265-.258-.479-.576-.479z"}),Oe.el("path",{d:"M9.54 11.17h-.728c-.32 0-.576.213-.576.478v1.08h1.882v-1.08c0-.265-.257-.479-.577-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M10.938 11.17h-.729c-.32 0-.576.213-.576.478v1.08h1.882v-1.08c0-.265-.257-.479-.577-.479z"}),Oe.el("path",{d:"M26.305 11.17h-.73c-.318 0-.574.213-.574.478v1.08h1.882v-1.08c0-.265-.26-.479-.578-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M27.702 11.17h-.73c-.318 0-.574.213-.574.478v1.08h1.882v-1.08c0-.265-.26-.479-.578-.479z"}),Oe.el("path",{d:"M29.101 11.17h-.73c-.318 0-.576.213-.576.478v1.08h1.882v-1.08c0-.265-.258-.479-.576-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M30.498 11.17h-.73c-.318 0-.576.213-.576.478v1.08h1.882v-1.08c0-.265-.258-.479-.576-.479z"}),Oe.el("path",{d:"M17.925 11.17h-.73c-.319 0-.577.213-.577.478v1.08h1.883v-1.08c0-.265-.258-.479-.576-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M19.322 11.17h-.73c-.319 0-.577.213-.577.478v1.08h1.883v-1.08c0-.265-.258-.479-.576-.479z"}),Oe.el("path",{d:"M20.717 11.17h-.73c-.319 0-.575.213-.575.478v1.08h1.883v-1.08c0-.265-.26-.479-.578-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M22.114 11.17h-.73c-.319 0-.575.213-.575.478v1.08h1.883v-1.08c0-.265-.26-.479-.578-.479z"}),Oe.el("path",{d:"M15.129 11.17H14.4c-.32 0-.576.213-.576.478v1.08h1.883v-1.08c0-.265-.258-.479-.578-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M16.526 11.17h-.729c-.32 0-.576.213-.576.478v1.08h1.883v-1.08c0-.265-.258-.479-.578-.479z"}),Oe.el("path",{d:"M12.335 11.17h-.73c-.319 0-.575.213-.575.478v1.08h1.882v-1.08c0-.265-.26-.479-.577-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M13.732 11.17h-.73c-.319 0-.575.213-.575.478v1.08h1.883v-1.08c0-.265-.26-.479-.578-.479z"}),Oe.el("path",{d:"M31.893 11.17h-.73c-.318 0-.574.213-.574.478v1.08h1.882v-1.08c0-.265-.26-.479-.578-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M33.29 11.17h-.73c-.318 0-.574.213-.574.478v1.08h1.882v-1.08c0-.265-.26-.479-.578-.479z"}),Oe.el("path",{d:"M33.647 28.407H15.765V12.533h17.882c.52 0 .941.445.941.992v13.89c0 .547-.421.992-.94.992",fill:"#FFF"}),Oe.el("path",{d:"M33.647 28.407H15.765V12.533h17.882c.52 0 .941.445.941.992v13.89c0 .547-.421.992-.94.992z",stroke:"#7C87A5","stroke-width":".893"}),Oe.el("path",{d:"M15.765 28.407H5.412c-.52 0-.941-.445-.941-.993V16.502c0-2.19 1.686-3.969 3.764-3.969h15.06-3.766c-2.078 0-3.764 1.778-3.764 3.969v11.905z",fill:"#FFF"}),Oe.el("path",{d:"M15.765 28.407H5.412c-.52 0-.941-.445-.941-.993V16.502c0-2.19 1.686-3.969 3.764-3.969h15.06-3.766c-2.078 0-3.764 1.778-3.764 3.969v11.905z",stroke:"#7C87A5","stroke-width":".893"}),Oe.el("path",{d:"M12.941 12.533H11.06c-1.559 0-2.824 1.334-2.824 2.977v1.986c0 .547.422.992.941.992H12c.52 0 .941-.445.941-.992V15.51c0-1.643 1.265-2.977 2.824-2.977h.94-3.764z",fill:"#4C97FF"}),Oe.el("path",{d:"M12.941 12.533H11.06c-1.559 0-2.824 1.334-2.824 2.977v1.986c0 .547.422.992.941.992H12c.52 0 .941-.445.941-.992V15.51c0-1.643 1.265-2.977 2.824-2.977h.94-3.764z",stroke:"#3D79CC","stroke-width":".893"}),Oe.el("path",{stroke:"#7C87A5","stroke-width":".893",d:"M4.47 20.474h27.961l2.157 2.974"}),Oe.el("path",{d:"M15.765 28.407H5.412c-.52 0-.941-.445-.941-.993V16.502c0-2.19 1.686-3.969 3.764-3.969h15.06-3.766c-2.078 0-3.764 1.778-3.764 3.969v11.905z",stroke:"#7C87A5","stroke-width":".893"}),Oe.el("path",{d:"M21.307 18.964h-.73c-.319 0-.576.214-.576.479v1.08h1.882v-1.08c0-.265-.258-.479-.576-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M21.307 18.964h-.73c-.319 0-.576.214-.576.479v1.08h1.882v-1.08c0-.265-.258-.479-.576-.479z"}),Oe.el("path",{d:"M24.178 18.964h-.728c-.32 0-.576.214-.576.479v1.08h1.882v-1.08c0-.265-.258-.479-.578-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M24.178 18.964h-.728c-.32 0-.576.214-.576.479v1.08h1.882v-1.08c0-.265-.258-.479-.578-.479z"}),Oe.el("path",{d:"M27.051 18.964h-.73c-.318 0-.576.214-.576.479v1.08h1.882v-1.08c0-.265-.257-.479-.576-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M27.051 18.964h-.73c-.318 0-.576.214-.576.479v1.08h1.882v-1.08c0-.265-.257-.479-.576-.479z"}),Oe.el("path",{d:"M29.923 18.964h-.729c-.32 0-.576.214-.576.479v1.08h1.883v-1.08c0-.265-.258-.479-.578-.479",fill:"#7C87A5"}),Oe.el("path",{d:"M29.923 18.964h-.729c-.32 0-.576.214-.576.479v1.08h1.883v-1.08c0-.265-.258-.479-.578-.479z"}),Oe.el("path",{d:"M33.647 28.407H15.765V20.47H32.43l2.157 2.978v3.966c0 .548-.421.993-.94.993",fill:"#E6E7E8"}),Oe.el("path",{d:"M33.647 28.407H15.765V20.47H32.43l2.157 2.978v3.966c0 .548-.421.993-.94.993z",stroke:"#7C87A5","stroke-width":".893"}),Oe.el("path",{d:"M15.765 28.407H5.412c-.52 0-.941-.445-.941-.993V20.47h11.294v7.937z",fill:"#E6E7E8"}),Oe.el("path",{d:"M15.765 28.407H5.412c-.52 0-.941-.445-.941-.993V20.47h11.294v7.937z",stroke:"#7C87A5","stroke-width":".893"}),Oe.el("path",{fill:"#E6E7E8",d:"M19.53 24.438h11.294V20.47H19.529z"}),Oe.el("path",{stroke:"#7C87A5","stroke-width":".893",d:"M19.53 24.438h11.294V20.47H19.529zm12.902-3.964l2.157-2.794"})]),{id:"sb3-wedoBlock",fill:"none"}),Oe.setProps(Oe.group([Oe.el("rect",{stroke:"#7C87A5",fill:"#FFF",x:".5",y:"3.59",width:"28",height:"25.81",rx:"1"}),Oe.el("rect",{stroke:"#7C87A5",fill:"#E6E7E8",x:"2.5",y:".5",width:"24",height:"32",rx:"1"}),Oe.el("path",{stroke:"#7C87A5",fill:"#FFF",d:"M2.5 14.5h24v13h-24z"}),Oe.el("path",{d:"M14.5 10.5v4",stroke:"#7C87A5",fill:"#E6E7E8"}),Oe.el("rect",{fill:"#414757",x:"4.5",y:"2.5",width:"20",height:"10",rx:"1"}),Oe.el("rect",{fill:"#7C87A5",opacity:".5",x:"13.5",y:"20.13",width:"2",height:"2",rx:".5"}),Oe.el("path",{d:"M9.06 20.13h1.5a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1.5a1 1 0 0 1 0-2zM19.93 22.13h-1.51a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h1.5a1 1 0 0 1 .01 2zM8.23 17.5H5a.5.5 0 0 1-.5-.5v-2.5h6l-1.85 2.78a.51.51 0 0 1-.42.22zM18.15 18.85l-.5.5a.49.49 0 0 0-.15.36V20a.5.5 0 0 1-.5.5h-.5a.5.5 0 0 1-.5-.5.5.5 0 0 0-.5-.5h-2a.5.5 0 0 0-.5.5.5.5 0 0 1-.5.5H12a.5.5 0 0 1-.5-.5v-.29a.49.49 0 0 0-.15-.36l-.5-.5a.51.51 0 0 1 0-.71l1.51-1.49a.47.47 0 0 1 .35-.15h3.58a.47.47 0 0 1 .35.15l1.51 1.49a.51.51 0 0 1 0 .71zM10.85 23.45l.5-.5a.49.49 0 0 0 .15-.36v-.29a.5.5 0 0 1 .5-.5h.5a.5.5 0 0 1 .5.5.5.5 0 0 0 .5.5h2a.5.5 0 0 0 .5-.5.5.5 0 0 1 .5-.5h.5a.5.5 0 0 1 .5.5v.29a.49.49 0 0 0 .15.36l.5.5a.5.5 0 0 1 0 .7l-1.51 1.5a.47.47 0 0 1-.35.15h-3.58a.47.47 0 0 1-.35-.15l-1.51-1.5a.5.5 0 0 1 0-.7z",fill:"#7C87A5",opacity:".5"}),Oe.el("path",{d:"M21.5 27.5h5v4a1 1 0 0 1-1 1h-4v-5z",stroke:"#CC4C23",fill:"#F15A29"})]),{transform:"translate(5.5 3.5)",id:"sb3-ev3Block"}),Oe.setProps(Oe.group([Oe.el("path",{d:"M35 28H5a1 1 0 0 1-1-1V12c0-.6.4-1 1-1h30c.5 0 1 .4 1 1v15c0 .5-.5 1-1 1z",fill:"#fff"}),Oe.el("path",{fill:"red",d:"M4 25h32v2.7H4zm9-1h-2.2a1 1 0 0 1-1-1v-9.7c0-.6.4-1 1-1H13c.6 0 1 .4 1 1V23c0 .6-.5 1-1 1z"}),Oe.el("path",{fill:"red",d:"M6.1 19.3v-2.2c0-.5.4-1 1-1h9.7c.5 0 1 .5 1 1v2.2c0 .5-.5 1-1 1H7.1a1 1 0 0 1-1-1z"}),Oe.el("circle",{fill:"red",cx:"22.8",cy:"18.2",r:"3.4"}),Oe.el("circle",{fill:"red",cx:"30.6",cy:"18.2",r:"3.4"}),Oe.el("path",{fill:"red",d:"M4.2 27h31.9v.7H4.2z"}),Oe.el("circle",{fill:"#e0e0e0",cx:"22.8",cy:"18.2",r:"2.3"}),Oe.el("circle",{fill:"#e0e0e0",cx:"30.6",cy:"18.2",r:"2.3"}),Oe.el("path",{fill:"#e0e0e0",d:"M12.5 22.9h-1.2c-.3 0-.5-.2-.5-.5V14c0-.3.2-.5.5-.5h1.2c.3 0 .5.2.5.5v8.4c0 .3-.2.5-.5.5z"}),Oe.el("path",{fill:"#e0e0e0",d:"M7.2 18.7v-1.2c0-.3.2-.5.5-.5h8.4c.3 0 .5.2.5.5v1.2c0 .3-.2.5-.5.5H7.7c-.3 0-.5-.2-.5-.5zM4 26h32v2H4z"}),Oe.el("path",{stroke:"#666","stroke-width":".5",d:"M35.2 27.9H4.8a1 1 0 0 1-1-1V12.1c0-.6.5-1 1-1h30.5c.5 0 1 .4 1 1V27a1 1 0 0 1-1.1.9z"}),Oe.el("path",{stroke:"#666","stroke-width":".5",d:"M35.2 27.9H4.8a1 1 0 0 1-1-1V12.1c0-.6.5-1 1-1h30.5c.5 0 1 .4 1 1V27a1 1 0 0 1-1.1.9z"})]),{id:"sb3-makeymakeyBlock",fill:"none"}),Oe.el("image",{id:"sb3-gdxforBlock",width:"40px",height:"40px",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAABAlBMVEUAAAABAQEAAAB9h6YAAAAAAAAAAAB8iKZ7iKaAjKvm5+h+iqhcXFxGR0d8iKbj5OV9iKZ8h6be3+Db3d19h6acnJ0AAAB7nrDh4uPh4uN9iabZ2tt9iKbX19nJycnExsZ8iKe+wMC7vL2Eka/g4ePU1dV8iKZ9iKZ9iKd+iKitra2RkZGLjo5wcHCLi7l0oqJV//9csdZ8h6WFkq//vwDm5+iEka79vgJ6iql9iaaHk6tgq9Btm71+iadmo8dzk7OCj6yAjKp/iqhiqc1qnsB4jKtgrNFwl7d1tLTgtCxpocN0krJ2j65ossWNtZSbt4LAulHWsDnasTTuvhXzvg9zk7TzqAfaAAAAMXRSTlMAJiLoFBwI8q4a+0c4M/nr3tnQwKxYDAnk2726tbGMh4J9dinXq56ddG9nT01ACwsDk/+seAAAAidJREFUWMPt2Olu2kAUhuE5NvuaBAhZm7TpvufgMXaBbmAghOzp/d9KD7RW6yaqPeL7YVV9/471aBgfCXnUH7ULNhtkF96qv1dgwwoxoM08cDsJcwfMdgwonoiJPRFjQXkscQM3Adhxk4NuJwkoDx0nSp5NDTiae958NEaBwzkvC4YYcOxx7fCoeJhnrwcBv7H9TklFm08R4JD5SEkiMg8B4IjXwsV1HgHAPu+EizsQcMbr2B0OufZz7X0NcIZSwC9+rD3nADI2/fCtrHEfAvZ8Liqp6PuIwZZO+ZmSnspcY8AZ55WU5xkElDwuK1Vm7xgFTjhfLud5AgPHAUvBGARKvYnnTXpp/gvAg9PLyykSPLt1nNszIHjuSOdAcNp1nO4UeYYXNzcX0UH62P+0AnjH8lgCgL8s/+uXzwZgrOV2JAMwxpIMwRjLHIyxzMEYyxyMWgAwYiHAzm99iLQ6eOJEul4d7Ea6WhG8W7rAE+fertHgVXp+clpB9Oet64M/wH2TKwI/FrRFTH6JIZ6NvmZpxoDtptlFULOtzGPWy+4/r//gvwKGgcC90NtTqIg2dIuyClaWDvTjKlDMLba4UaUMcIuVbd0gyiGwjGVlFuKWfkQZhEfSQnypd8mCvOHGvkA5quo6EQSs6yrlNumN3obs0KKGHJ70QD+hLOQMW7r0sFI5KJVeY+bGkr1JopKlEG0StXbrW/uvQGMookXLLPFAZYTMJju/7z6rRW1MZcnIAAAAAElFTkSuQmCC"}),Oe.el("image",{id:"sb3-boostBlock",width:"40px",height:"40px",href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQBAMAAAB8P++eAAAAKlBMVEUAAAD///98h6Xm5+iVnrb/Zhq+w9L5hk73+Pnf4eSQmbLr7Ozo39vp184hSCf6AAAAAXRSTlMAQObYZgAAAOFJREFUSMftlDEOgjAUhonhAi1sLvIk7NDJDTYu0LhzBzcXruHoDTyFB/BCNi30KU3InzioSb++hAS+vPfKa5pEIpHvk7a8gpf8ISWINtlg4i7ZFOKVTBlqsUR+ItYZJG7VzQQgMqGYd7zWRArpULEAe5Q/J9JMj4rluC7uleNw7TFRXcoREDnlinjX57eUsvRTn8+AE0/6OKV0g5buYTTyWFFr/XAp3aDzed4yFJWnKbhPbtaXXohDNYlDJWz4zSxEokkkEjb496AiVtqAbIYgYNGWBmhgES+NX6SRSORfeAJMWajr95DdqQAAAABJRU5ErkJggg=="})]}},{key:"makeStyle",value:function(){var t=Oe.el("style");return t.appendChild(Oe.cdata(e.cssContent)),t}},{key:"defaultFont",get:function(){return"500 12pt Helevetica Neue, Helvetica, sans-serif"}},{key:"commentFont",get:function(){return"400 12pt Helevetica Neue, Helvetica, sans-serif"}}]),e}(),Le=Se.defaultFont,Ee=Se.commentFont,Te=Se.makeStyle,Re=Se.makeIcons,Ce=function(){function e(e){n(this,e),this.el=null,this.height=12,this.metrics=null,this.x=0}return s(e,[{key:"isLabel",get:function(){return!0}},{key:"draw",value:function(){return this.el}},{key:"width",get:function(){return this.metrics.width}},{key:"measure",value:function(){var t=this.value,i="sb3-"+this.cls;this.el=Oe.text(0,13,t,{class:"sb3-label "+i});var s=e.metricsCache[i];if(s||(s=e.metricsCache[i]=Object.create(null)),Object.hasOwnProperty.call(s,t))this.metrics=s[t];else{var r=/comment-label/.test(this.cls)?Ee:Le;this.metrics=s[t]=e.measure(t,r)}}}],[{key:"measure",value:function(t,i){var s=e.measuring;return s.font=i,{width:s.measureText(t).width+.5|0}}}]),e}();Ce.metricsCache={},Ce.toMeasure=[];var Ie=function(){function e(t){n(this,t);var i=e.icons[this.name];if(!i)throw Error("no info for icon: "+this.name);n(this,i)}return s(e,[{key:"isIcon",get:function(){return!0}},{key:"draw",value:function(){return Oe.symbol("#sb3-"+this.name,{width:this.width,height:this.height})}}],[{key:"icons",get:function(){return{greenFlag:{width:20,height:21,dy:-2},stopSign:{width:20,height:20},turnLeft:{width:24,height:24},turnRight:{width:24,height:24},loopArrow:{width:24,height:24},addInput:{width:4,height:8},delInput:{width:4,height:8},list:{width:15,height:18},musicBlock:{width:40,height:40},penBlock:{width:40,height:40},videoBlock:{width:40,height:40,dy:10},ttsBlock:{width:40,height:40},translateBlock:{width:40,height:40},wedoBlock:{width:40,height:40},ev3Block:{width:40,height:40},microbitBlock:{width:40,height:40},makeymakeyBlock:{width:40,height:40},gdxforBlock:{width:40,height:40},boostBlock:{width:40,height:40}}}}]),e}(),Me=function(){function e(){this.width=1,this.height=40,this.x=0}return s(e,[{key:"isLine",get:function(){return!0}},{key:"measure",value:function(){}},{key:"draw",value:function(e){var t=e.info.category;return Oe.el("line",{class:"sb3-"+t+"-line","stroke-linecap":"round",x1:0,y1:0,x2:0,y2:40})}}]),e}(),Ne=function(){function e(e){n(this,e),e.label&&(this.label=ze(e.label)),this.isBoolean="boolean"===this.shape,this.isDropdown="dropdown"===this.shape,this.isRound=!(this.isBoolean||this.isDropdown),this.x=0}return s(e,[{key:"isInput",get:function(){return!0}},{key:"measure",value:function(){this.hasLabel&&this.label.measure()}},{key:"draw",value:function(t){var i,s;if(this.isBoolean)i=48;else if(this.isColor)i=40;else if(this.hasLabel){s=this.label.draw();var r=this.label.width>=18?11:(40-this.label.width)/2;i=this.label.width+2*r,s=Oe.move(r,9,s)}else i=this.isInset?30:null;this.hasArrow&&(i+=20),this.width=i;var n=this.height=32,o=e.shapes[this.shape](i,n);Oe.setProps(o,{class:(this.isColor?"":"sb3-"+t.info.category)+" sb3-input sb3-input-"+this.shape}),this.isColor?Oe.setProps(o,{fill:this.value}):"dropdown"===this.shape?t.info.color&&Oe.setProps(o,{fill:t.info.color,stroke:"rgba(0, 0, 0, 0.2)"}):"number-dropdown"===this.shape?(o.classList.add("sb3-"+t.info.category+"-alt"),t.info.color&&Oe.setProps(o,{fill:"rgba(0, 0, 0, 0.1)",stroke:"rgba(0, 0, 0, 0.15)"})):"boolean"===this.shape&&(o.classList.remove("sb3-"+t.info.category),o.classList.add("sb3-"+t.info.category+"-dark"),t.info.color&&Oe.setProps(o,{fill:"rgba(0, 0, 0, 0.15)"}));var a=Oe.group([o]);return this.hasLabel&&a.appendChild(s),this.hasArrow&&a.appendChild(Oe.move(i-24,13,Oe.symbol("#sb3-dropdownArrow",{}))),a}}],[{key:"shapes",get:function(){return{string:Oe.pillRect,number:Oe.pillRect,"number-dropdown":Oe.pillRect,color:Oe.pillRect,dropdown:Oe.roundRect,boolean:Oe.pointedRect,stack:Oe.stackRect,reporter:Oe.pillRect}}}]),e}(),xe=function(){function e(e){n(this,e),this.children=e.children.map(ze),this.comment=this.comment?ze(this.comment):null,this.isRound=this.isReporter,this.info=t({},e.info),Object.prototype.hasOwnProperty.call(p,this.info.category)&&(this.info.category=p[this.info.category]),Object.prototype.hasOwnProperty.call(u,this.info.category)&&(this.children.unshift(new Me),this.children.unshift(new Ie({name:this.info.category+"Block"})),this.info.category="extension"),this.x=0,this.width=null,this.height=null,this.firstLine=null,this.innerWidth=null}return s(e,[{key:"isBlock",get:function(){return!0}},{key:"measure",value:function(){var e,t=l(this.children);try{for(t.s();!(e=t.n()).done;){var i=e.value;i.measure&&i.measure()}}catch(e){t.e(e)}finally{t.f()}this.comment&&this.comment.measure()}},{key:"drawSelf",value:function(t,i,s){if(s.length>1)return Oe.mouthRect(t,i,this.isFinal,s,{class:"sb3-"+this.info.category});if("outline"===this.info.shape)return Oe.setProps(Oe.stackRect(t,i),{class:"sb3-"+this.info.category+" sb3-"+this.info.category+"-alt"});if(this.isRing){var r=this.children[0];if(r&&(r.isInput||r.isBlock||r.isScript))return Oe.roundRect(t,i,{class:"sb3-"+this.info.category})}var n=e.shapes[this.info.shape];if(!n)throw Error("no shape func: "+this.info.shape);return n(t,i,{class:"sb3-"+this.info.category})}},{key:"horizontalPadding",value:function(e){if(this.isRound){if(e.isIcon)return 16;if(e.isLabel)return 12;if(e.isDropdown)return 12;if(e.isBoolean)return 12;if(e.isRound)return 4}else if(this.isBoolean){if(e.isIcon)return 24;if(e.isLabel)return 20;if(e.isDropdown)return 20;if(e.isRound&&e.isBlock)return 24;if(e.isRound)return 20;if(e.isBoolean)return 8}return 8}},{key:"marginBetween",value:function(e,t){return e.isLabel&&t.isLabel?5:8}},{key:"draw",value:function(){var t="define-hat"===this.info.shape,i=this.children,s=this.isCommand,r=e.padding[this.info.shape]||e.padding.null,n=r[0],o=r[1],a="cat"===this.info.shape?16:0,c=function(e){this.y=e,this.width=0,this.height=s?40:32,this.children=[]},l=0,h=0,u=new c(a),p=function(){0===m.length?u.height+=n+o:(u.height-=11,u.y-=2),a+=u.height,m.push(u)};if(this.info.isRTL){var f,d=0,g=function(){i=i.slice(0,d).concat(i.slice(d,f).reverse()).concat(i.slice(f))};for(f=0;f<i.length;f++)i[f].isScript&&(g(),d=f+1);d<f&&g()}for(var y,v,m=[],k=0;k<i.length;k++){var b=i[k];if(b.el=b.draw(this),b.isScript&&this.isCommand)this.hasScript=!0,p(),b.y=a-1,m.push(b),h=Math.max(h,Math.max(1,b.width)),b.height=Math.max(29,b.height+3)-2,a+=b.height,u=new c(a),y=null;else if(b.isArrow)u.children.push(b),y=b;else{if(m.length||(v=b),y&&(u.width+=this.marginBetween(y,b)),null!=i[0]){var w=48-this.horizontalPadding(i[0]);(this.isCommand||this.isOutline)&&!b.isLabel&&!b.isIcon&&u.width<w&&(u.width=w)}b.isIcon&&0===k&&this.isCommand&&(u.height=Math.max(u.height,b.height+8)),b.x=u.width,u.width+=b.width,l=Math.max(l,u.width),b.isLabel||(u.height=Math.max(u.height,b.height)),u.children.push(b),y=b}}p();var A=i.length?this.horizontalPadding(i[0]):0,O=l+=A+(i.length?this.horizontalPadding(v):0);l=Math.max(this.hasScript?160:this.isHat?108:this.isCommand||this.isOutline?64:this.isReporter?48:0,l),this.isReporter&&(A+=(l-O)/2),this.height=a,this.width=h?Math.max(l,15+h):l,this.firstLine=m[0],this.innerWidth=l;for(var S=[],L=0;L<m.length;L++){var E=m[L];if(E.isScript)S.push(Oe.move(16,E.y,E.el));else for(var T=E.height,R=0;R<E.children.length;R++){var C=E.children[R];if(C.isArrow)S.push(Oe.move(l-32,this.height-28,C.el));else{var I=n+(T-C.height-n-o)/2;C.isLabel&&0===L?I-=1:t&&C.isLabel?I+=3:C.isIcon&&(I+=0|C.dy,this.isCommand&&0===L&&0===R&&(I+=4));var M=A+C.x;C.dx&&(M+=C.dx),S.push(Oe.move(M,E.y+I|0,C.el))}}}var N=this.drawSelf(l,this.height,m);return S.splice(0,0,N),this.info.color&&Oe.setProps(N,{fill:this.info.color,stroke:"rgba(0, 0, 0, 0.2)"}),Oe.group(S)}}],[{key:"shapes",get:function(){return{stack:Oe.stackRect,"c-block":Oe.stackRect,"if-block":Oe.stackRect,celse:Oe.stackRect,cend:Oe.stackRect,cap:Oe.capRect,reporter:Oe.pillRect,boolean:Oe.pointedRect,hat:Oe.hatRect,cat:Oe.catHat,"define-hat":Oe.procHatRect,ring:Oe.pillRect}}},{key:"padding",get:function(){return{hat:[24,8],cat:[24,8],"define-hat":[20,16],null:[4,4]}}}]),e}(),Be=function(){function e(e){n(this,e),this.label=ze(e.label),this.width=null}return s(e,[{key:"isComment",get:function(){return!0}},{key:"height",get:function(){return 20}},{key:"measure",value:function(){this.label.measure()}},{key:"draw",value:function(){var t=this.label.draw();return this.width=this.label.width+16,Oe.group([Oe.commentLine(this.hasBlock?e.lineLength:0,6),Oe.commentRect(this.width,this.height,{class:"sb3-comment"}),Oe.move(8,4,t)])}}],[{key:"lineLength",get:function(){return 12}}]),e}(),De=function(){function e(e){n(this,e),this.child=ze(e.child),this.width=null,this.height=null,this.y=0}return s(e,[{key:"isGlow",get:function(){return!0}},{key:"measure",value:function(){this.child.measure()}},{key:"drawSelf",value:function(){var e,t=this.child,i=this.width,s=this.height-1;return e=t.isScript?!t.isEmpty&&t.blocks[0].isHat?Oe.hatRect(i,s):t.isFinal?Oe.capRect(i,s):Oe.stackRect(i,s):t.drawSelf(i,s,[]),Oe.setProps(e,{class:"sb3-diff sb3-diff-ins"})}},{key:"draw",value:function(){var e=this.child,t=e.isScript?e.draw(!0):e.draw();return this.width=e.width,this.height=e.isBlock&&e.firstLine.height||e.height,Oe.group([t,this.drawSelf()])}}]),e}(),Pe=function(){function e(e){n(this,e),this.blocks=e.blocks.map(ze),this.y=0}return s(e,[{key:"isScript",get:function(){return!0}},{key:"measure",value:function(){var e,t=l(this.blocks);try{for(t.s();!(e=t.n()).done;){e.value.measure()}}catch(e){t.e(e)}finally{t.f()}}},{key:"draw",value:function(e){var t=[],i=1;this.width=0;var s,r=l(this.blocks);try{for(r.s();!(s=r.n()).done;){var n=s.value,o=e?0:2,a=n.draw();if(t.push(Oe.move(o,i,a)),this.width=Math.max(this.width,n.width),"-"===n.diff){var c=n.width,h=n.firstLine.height||n.height;t.push(Oe.move(o,i+h/2+1,Oe.strikethroughLine(c))),this.width=Math.max(this.width,n.width)}i+=n.height;var u=n.comment;if(u){var p=n.firstLine,f=n.innerWidth+2+Be.lineLength,d=i-n.height+p.height/2,g=u.draw();t.push(Oe.move(f,d-u.height/2,g)),this.width=Math.max(this.width,f+u.width)}}}catch(e){r.e(e)}finally{r.f()}var y=this.blocks[this.blocks.length-1];return this.height=i+1,e||this.isFinal||(this.height+=y.hasPuzzle?8:0),!e&&y.isGlow&&(this.height+=7),Oe.group(t)}}]),e}(),Fe=function(){function e(e,t){n(this,e),this.scripts=e.scripts.map(ze),this.width=null,this.height=null,this.el=null,this.defs=null,this.scale=t.scale}return s(e,[{key:"measure",value:function(){this.scripts.forEach((function(e){e.measure()}))}},{key:"render",value:function(e){if("function"==typeof e)throw Error("render() no longer takes a callback");this.measure();for(var t=0,i=0,s=[],r=0;r<this.scripts.length;r++){var n=this.scripts[r];i&&(i+=10),n.y=i,s.push(Oe.move(0,i,n.draw())),i+=n.height,r!==this.scripts.length-1&&(i+=36),t=Math.max(t,n.width+4)}this.width=t,this.height=i;var o=Oe.newSVG(t,i,this.scale);return o.appendChild(this.defs=Oe.withChildren(Oe.el("defs"),Re())),o.appendChild(Oe.setProps(Oe.group(s),{style:"transform: scale("+this.scale+")"})),this.el=o,o}},{key:"exportSVGString",value:function(){if(null==this.el)throw Error("call draw() first");var e=Te();this.defs.appendChild(e);var t=(new Oe.XMLSerializer).serializeToString(this.el);return this.defs.removeChild(e),t}},{key:"exportSVG",value:function(){return"data:image/svg+xml;utf8,"+this.exportSVGString().replace(/[#]/g,encodeURIComponent)}},{key:"toCanvas",value:function(e,t){t=t||1;var i=Oe.makeCanvas();i.width=Math.max(1,this.width*t*this.scale),i.height=Math.max(1,this.height*t*this.scale);var s=i.getContext("2d"),r=new Image;r.src=this.exportSVG(),r.onload=function(){s.save(),s.scale(t,t),s.drawImage(r,0,0),s.restore(),e(i)}}},{key:"exportPNG",value:function(e,t){this.toCanvas((function(t){URL&&URL.createObjectURL&&Blob&&t.toBlob?t.toBlob((function(t){e(URL.createObjectURL(t))}),"image/png"):e(t.toDataURL("image/png"))}),t)}}]),e}(),ze=function(e,t){return new(function(e){switch(e.constructor){case P:return Ce;case F:return Ie;case z:return Ne;case H:return xe;case G:return Be;case U:return De;case V:return Pe;case _:return Fe;default:throw Error("no view for "+e.constructor.name)}}(e))(e,t)};var He=Se.makeStyle;var Ge=window.scratchblocks=function(e){var i=e.document;function s(e,i){switch((i=t({style:"scratch2"},i)).scale=i.scale||1,i.style){case"scratch2":return me(e,i);case"scratch3":return ze(e,i);default:throw Error("Unknown style: "+i.style)}}function r(e,t){if("function"==typeof t)throw Error("render() no longer takes a callback");return s(e,t).render()}function n(e,s){s=t({inline:!1},s);var r=e.innerHTML.replace(/<br>\s?|\n|\r\n|\r/gi,"\n"),n=i.createElement("pre");n.innerHTML=r;var o=n.textContent;return s.inline&&(o=o.replace("\n","")),o}function o(e,t,s,r){var n;if(r.inline){n=i.createElement("span");var o="scratchblocks scratchblocks-inline";s.scripts[0]&&!s.scripts[0].isEmpty&&(o+=" scratchblocks-inline-"+s.scripts[0].blocks[0].shape),n.className=o,n.style.display="inline-block",n.style.verticalAlign="middle"}else(n=i.createElement("div")).className="scratchblocks";n.appendChild(t),e.innerHTML="",e.appendChild(n)}return function(e){te.init(e),he.measuring=te.makeCanvas().getContext("2d")}(e),function(e){Oe.init(e),Ce.measuring=Oe.makeCanvas().getContext("2d")}(e),{allLanguages:C,loadLanguages:I,stringify:function(e){return e.stringify()},Label:P,Icon:F,Input:z,Block:H,Comment:G,Script:V,Document:_,newView:s,read:n,parse:J,replace:o,render:r,renderMatching:function(e,s){e=e||"pre.blocks",s=t({style:"scratch2",inline:!1,languages:["en"],scale:1,read:n,parse:J,render:r,replace:o},s),[].slice.apply(i.querySelectorAll(e)).forEach((function(e){var t=s.read(e,s),i=s.parse(t,s),r=s.render(i,s);s.replace(e,r,i,s)}))},appendStyles:function(){i.head.appendChild(we()),i.head.appendChild(He())}}}(window);return Ge.appendStyles(),Ge}();
// Set up scratchblocks
scratchblocks.renderMatching('pre.blocks', {
style: 'scratch3', // Optional, defaults to 'scratch2'.
languages: ['en', 'de'], // Optional, defaults to ['en'].
scale: 1, // Optional, defaults to 1
});