diff --git a/README.md b/README.md index da85242adc974..acea6e9aeeb7f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Many Windows developers have found that setting up an Ubuntu virtual machine is less painful than getting Ruby and other prerequisites running on Windows. -* Option A: Use VirtualBox and an [Ubuntu 14.04 iso image](http://releases.ubuntu.com/14.04.1/ubuntu-14.04.1-desktop-amd64.iso) +* Option A: Use [VMWare Player](https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_player/4_0) and an [Ubuntu 14.04 iso image](http://releases.ubuntu.com/14.04.1/ubuntu-14.04.1-desktop-amd64.iso) * Option B: Use vagrant ([install](https://docs.vagrantup.com/v2/installation/)): 1. `vagrant init ubuntu/trusty64` 1. Configure to use 2048mb rather than 512mb RAM ([instructions](https://docs.vagrantup.com/v2/virtualbox/configuration.html)) @@ -44,9 +44,9 @@ Many Windows developers have found that setting up an Ubuntu virtual machine is * `\curl -sSL https://get.rvm.io | bash -s stable` * `source ~/.rvm/scripts/rvm` * `rvm install 2.0.0-p451` -1. `git clone https://github.com/code-dot-org/website-ci.git` +1. `git clone https://github.com/code-dot-org/code-dot-org.git` 1. `gem install bundler` -1. `cd website-ci/aws` +1. `cd code-dot-org/aws` 1. `bundle install` 1. `cd ../dashboard` 1. `bundle install` @@ -57,23 +57,37 @@ Many Windows developers have found that setting up an Ubuntu virtual machine is 1. `rake db:migrate` 1. `rake seed:migrate` -# Running Dashboard (aka [learn.code.org](http://learn.code.org)) +## Organizational Structure +Our code is segmented into four parts: -1. `cd website-ci/dashboard` -1. `bundle exec rails server` - * Note: after major code updates (or if something seems broken), run `bundle exec rake db:migrate seed:all` +* Blockly Core is the visual programming language platform used for the interactive tutorials. +* Blockly includes apps—blockly puzzles built based on Blockly Core. + * [Hour of Code](http://studio.code.org/hoc/1) +* Dashboard, is the tutorial platform which organizes blockly levels into tutorials. + * [Code Studio](http://studio.code.org) +* Pegasus is the main site which also includes the teacher dashboard (support for teachers to track student progress). + * [code.org](http://code.org) + * [csedweek.org](http://csedweek.org) + * [Teacher Dashboard](http://code.org/teacher-dashboard) -# Running Pegasus (aka [code.org](http://code.org), [csedweek.org](http://csedweek.org), etc...) +## Running Dashboard +1. `cd code-dot-org/dashboard` +2. `bundle exec rails server` +3. Note: after major code updates (or if something seems broken), run `bundle exec rake db:migrate seed:all` +4. Visit [http://localhost.studio.code.org:3000/](http://localhost.studio.code.org:3000/) -1. `cd website-ci/pegasus` -1. `./up` - * Note: after major code updates (or if something seems broken), run `rake db:migrate seed:migrate` +## Running Pegasus -# (optional) Building blockly and blockly-core (i.e., [puzzles](http://learn.code.org/hoc/1)) +1. `cd code-dot-org/pegasus` +2. `./up` +3. Note: after major code updates (or if something seems broken), run `rake db:migrate seed:migrate` +4. Visit [http://localhost.code.org:9393/](http://localhost.code.org:9393/) + +## Building Blockly and Blockly-core (optional) The learn.code.org default dashboard install includes a static build of blockly, but if you want to make modifications to blockly or blockly-core: -1. `cd website-ci/dashboard` +1. `cd code-dot-org/dashboard` 1. `bundle exec rake 'blockly:dev[../blockly]'` * This symlinks to dashboard reference the dev version of blockly 1. Follow the blockly build instructions at `blockly/README` or blockly-core build instructions at `blockly-core/README` @@ -130,7 +144,13 @@ Contributors should follow the GitHub [fork-and-pull model](https://help.github. - `git add YYY` - `git commit -m "ZZZ"` - `git push origin branch_name` -3. Go to the website-ci GitHub page - - [https://github.com/code-dot-org/website-ci](https://github.com/code-dot-org/website-ci) -4. Click on the "Pull Request" link, look over your diff, and submit it to others to review. +3. Go to the code-dot-org GitHub page + - [https://github.com/code-dot-org/code-dot-org](https://github.com/code-dot-org/code-dot-org) +4. For your submissinon to be reviewed + - Click on the "Pull Request" link, look over and confirm your diff + - Submit a pull request for your branch to be merged into staging - For bonus points, include screenshots in the description. Command + Ctrl + Shift + 4 in OS X lets you copy a screen selection to your clipboard, which GitHub will let you paste right into the description +5. After your pull request is merged into staging, you can review your changes on the following sites: + * [http://staging.code.org/](http://staging.code.org/) + * [http://staging.studio.code.org/](http://staging.studio.code.org/) + * [http://staging.csedweek.org/](http://staging.csedweek.org/) diff --git a/bin/activity-monitor b/bin/activity-monitor index e52ae6cd6d068..c0ce9ee8bdca8 100755 --- a/bin/activity-monitor +++ b/bin/activity-monitor @@ -20,6 +20,7 @@ ExcludedBrowsers = [ 'Other', 'Slurp', 'TwitterBot', + 'Yandex Browser', 'YandexBot', 'Mo%20PTT/50 CFNetwork/672.1.15 Darwin/14.0.0' ] diff --git a/blockly/src/studio/studio.js b/blockly/src/studio/studio.js index cb767660eae61..25e5b23e6c71d 100644 --- a/blockly/src/studio/studio.js +++ b/blockly/src/studio/studio.js @@ -1793,12 +1793,15 @@ Studio.setSpriteSpeed = function (opts) { Studio.setSpriteSize = function (opts) { Studio.sprite[opts.spriteIndex].size = opts.value; + var curSpriteValue = Studio.sprite[opts.spriteIndex].value; - // call setSprite with existing index/value now that we changed the size - Studio.setSprite({ - spriteIndex: opts.spriteIndex, - value: Studio.sprite[opts.spriteIndex].value - }); + if (curSpriteValue !== 'hidden') { + // call setSprite with existing index/value now that we changed the size + Studio.setSprite({ + spriteIndex: opts.spriteIndex, + value: curSpriteValue + }); + } }; Studio.changeScore = function (opts) { @@ -1852,6 +1855,7 @@ Studio.setSprite = function (opts) { (skin[spriteValue].spriteHeight || Studio.DEFAULT_SPRITE_HEIGHT); sprite.width = sprite.size * (skin[spriteValue].spriteWidth || Studio.DEFAULT_SPRITE_WIDTH); + sprite.value = opts.forceHidden ? 'hidden' : opts.value; var spriteClipRect = document.getElementById('spriteClipRect' + spriteIndex); spriteClipRect.setAttribute('width', sprite.width); diff --git a/dashboard/public/blockly-package/js/af_za/studio.js b/dashboard/public/blockly-package/js/af_za/studio.js index 2e3741662d8ea..fe581b0da9852 100644 --- a/dashboard/public/blockly-package/js/af_za/studio.js +++ b/dashboard/public/blockly-package/js/af_za/studio.js @@ -12957,12 +12957,15 @@ Studio.setSpriteSpeed = function (opts) { Studio.setSpriteSize = function (opts) { Studio.sprite[opts.spriteIndex].size = opts.value; + var curSpriteValue = Studio.sprite[opts.spriteIndex].value; - // call setSprite with existing index/value now that we changed the size - Studio.setSprite({ - spriteIndex: opts.spriteIndex, - value: Studio.sprite[opts.spriteIndex].value - }); + if (curSpriteValue !== 'hidden') { + // call setSprite with existing index/value now that we changed the size + Studio.setSprite({ + spriteIndex: opts.spriteIndex, + value: curSpriteValue + }); + } }; Studio.changeScore = function (opts) { @@ -13016,6 +13019,7 @@ Studio.setSprite = function (opts) { (skin[spriteValue].spriteHeight || Studio.DEFAULT_SPRITE_HEIGHT); sprite.width = sprite.size * (skin[spriteValue].spriteWidth || Studio.DEFAULT_SPRITE_WIDTH); + sprite.value = opts.forceHidden ? 'hidden' : opts.value; var spriteClipRect = document.getElementById('spriteClipRect' + spriteIndex); spriteClipRect.setAttribute('width', sprite.width); diff --git a/dashboard/public/blockly-package/js/af_za/studio.min.js b/dashboard/public/blockly-package/js/af_za/studio.min.js index 47c2d0a1ccc5c..c29c7be046cf4 100644 --- a/dashboard/public/blockly-package/js/af_za/studio.min.js +++ b/dashboard/public/blockly-package/js/af_za/studio.min.js @@ -2,7 +2,7 @@ if("string"==typeof i){if(b=b||Blockly.Generator.workspaceToCode("JavaScript"),-1!==b.indexOf(i)){g=!0;break}}else{if("function"!=typeof i)throw new Error("Bad test: "+i);if(c.some(i)){g=!0;break}}}g||(d++,a=a.concat(BlocklyApps.REQUIRED_BLOCKS[e][0]))}return a};c.hasExtraTopBlocks=function(){for(var a=Blockly.mainWorkspace.getTopBlocks(),b=0;bBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/af_za/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/af_za/common":40,"../../locale/af_za/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/af_za/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/af_za/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/af_za/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/af_za/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/af_za/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/af_za/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/af_za/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/af_za/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/af_za/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/af_za/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/af_za/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/af_za/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.af=function(a){return 1===a?"one":"other"},c.and=function(){return"and"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Aksies"},c.catColour=function(){return"Kleur"},c.catLogic=function(){return"Logic"},c.catLists=function(){return"Lyste"},c.catLoops=function(){return"Loops"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Teks"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"See generated JavaScript code."},c.continue=function(){return"Gaan voort"},c.dialogCancel=function(){return"Kanselleer"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Congratulations! You have completed the final stage."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"af",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"The blocks for your program can also be represented in JavaScript, the world's most widely adopted programming language:"},c.hashError=function(){return"Sorry, '%1' doesn't correspond with any saved program."},c.help=function(){return"Help"},c.hintTitle=function(){return"Hint:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"lys"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"af",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+" and won "+p(a,"numTrophies",0,"af",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"af",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"af",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")},c.repeat=function(){return"herhaal"},c.resetProgram=function(){return"Stel terug"},c.runProgram=function(){return"Run Program"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Show Code"},c.showGeneratedCode=function(){return"Show code"},c.subtitle=function(){return"a visual programming environment"},c.textVariable=function(){return"teks"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"Blokke"},c.openWorkspace=function(){return"How It Works"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"af",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Probeer weer"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Back to previous level"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Type your JavaScript code below these instructions."},c.typeFuncs=function(){return"Available functions:%1"},c.typeHint=function(){return"Note that the parentheses and semicolons are required."},c.workspaceHeader=function(){return"Assemble your blocks here: "},c.infinity=function(){return"Oneindig"},c.rotateText=function(){return"Rotate your device."},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.af=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Aksies"},c.catControl=function(){return"Loops"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logic"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Teks"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Gaan voort"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"emotion"},c.finalLevel=function(){return"Congratulations! You have solved the final puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"random"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Congratulations! You have completed this puzzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"random"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"do"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"teks"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"set"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Yes"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||""; var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ar_sa/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ar_sa/common":40,"../../locale/ar_sa/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ar_sa/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ar_sa/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ar_sa/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ar_sa/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ar_sa/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ar_sa/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ar_sa/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ar_sa/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ar_sa/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ar_sa/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ar_sa/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ar_sa/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ar=function(a){return 0===a?"zero":1==a?"one":2==a?"two":a%100>=3&&10>=a%100&&a==Math.floor(a)?"few":a%100>=11&&99>=a%100&&a==Math.floor(a)?"many":"other"},c.and=function(){return"و"},c.blocklyMessage=function(){return"بلوكلي"},c.catActions=function(){return"الاجراءات"},c.catColour=function(){return"لون"},c.catLogic=function(){return"العمليات المنطقية"},c.catLists=function(){return"القوائم والمصفوفات"},c.catLoops=function(){return"الجمل التكرارية"},c.catMath=function(){return"العمليات الحسابية"},c.catProcedures=function(){return"الدوال"},c.catText=function(){return"الجمل"},c.catVariables=function(){return"المتغيرات"},c.codeTooltip=function(){return"شاهد كود الـ JavaScript ."},c.continue=function(){return"أستمر"},c.dialogCancel=function(){return"إلغاء"},c.dialogOK=function(){return"موافق"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"نهاية"},c.emptyBlocksErrorMsg=function(){return'قطعة " أكرر" أو " اذا " تحتاج ان تحتوي على قطع اخرى داخلها من اجل العمل . تأكد من القطع الداخلية بحيث يجب ان تكون تناسب القطع المحتوية في الداخل .'},c.emptyFunctionBlocksErrorMsg=function(){return"كتلة الدالة يحتاج إلى الكتل الأخرى داخله لكي يعمل."},c.extraTopBlocks=function(){return"لديك قطع إضافية لم ترفق على قطع الحدث."},c.finalStage=function(){return"تهانينا! لقد اتممت المرحلة النهائية."},c.finalStageTrophies=function(a){return"تهانينا! لقد أكملت المرحلة النهائية وفزت بـ "+p(a,"numTrophies",0,"ar",{one:"جائزة",other:n(a,"numTrophies")+" جوائز"})+"."},c.finish=function(){return"إنهاء"},c.generatedCodeInfo=function(a){return"حتى أفضل الجامعات تعلم الكود البرمجي المبني على القطع (على سبيل المثال، "+v(a,"berkeleyLink")+"، "+v(a,"harvardLink")+"). ولكن في الحقيقه، يمكن للقطع التي جمعتها انت في الظهور في الجافا سكريبت، وهو أكثر لغة كود برمجي مستخدم في العالم:"},c.hashError=function(){return"عذرا , %1 لايتوافق مع اي البرامج المحفوظة ."},c.help=function(){return"مساعدة"},c.hintTitle=function(){return"تلميح:"},c.jump=function(){return"قفز"},c.levelIncompleteError=function(){return"أنت استخدمت كل انواع القطع الضرورية ولكن ليس في الطريق الصحيح."},c.listVariable=function(){return"قائمة"},c.makeYourOwnFlappy=function(){return"برمج لعبة فلابي الخاصة بك"},c.missingBlocksErrorMsg=function(){return"استخدم القطع الموجودة في الاسفل لحل هذا اللغز."},c.nextLevel=function(a){return"تهانينا ! أنت اكملت اللغز "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"تهانينا! لقد أكملت اللغز "+v(a,"puzzleNumber")+" وفزت بـ "+p(a,"numTrophies",0,"ar",{one:"جائزة",other:n(a,"numTrophies")+" جوائز"})+"."},c.nextStage=function(a){return"تهانينا! لقد أكملت مرحلة "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"تهانينا! لقد أكملت المرحلة "+v(a,"stageNumber")+" وفزت بـ "+p(a,"numTrophies",0,"ar",{one:"جائزة",other:n(a,"numTrophies")+" جوائز"})+"." },c.numBlocksNeeded=function(a){return"تهانينا! لقد أكملت اللغز "+v(a,"puzzleNumber")+". (لكن كان بامكانك استخذام "+p(a,"numBlocks",0,"ar",{one:"1 بلوك",other:n(a,"numBlocks")+" بلوكات"})+".) فقط"},c.numLinesOfCodeWritten=function(a){return"لقد كتبت "+p(a,"numLines",0,"ar",{one:"سطر1",other:n(a,"numLines")+" سطور"})+" من الكود البرمجي!"},c.play=function(){return"إلعب"},c.puzzleTitle=function(a){return"اللغز "+v(a,"puzzle_number")+" من "+v(a,"stage_total")},c.repeat=function(){return"إعادة"},c.resetProgram=function(){return"إعادة تعيين"},c.runProgram=function(){return"تشغيل"},c.runTooltip=function(){return"تنفيذ البرنامج هو الامر الذي يقوم بتنفيذ القطع في مساحة العمل البيضاء."},c.score=function(){return"النتيجة"},c.showCodeHeader=function(){return"اظهار الكود البرمجي"},c.showGeneratedCode=function(){return"اظهار الكود البرمجي"},c.subtitle=function(){return"بيئة البرمجة المرئية"},c.textVariable=function(){return"نص"},c.tooFewBlocksMsg=function(){return"أنت استخدمت كل انواع القطع الضرورية ولكن حاول ان تستخدم المزيد من هذه الأنواع من القطع لأكمال هذا اللغز."},c.tooManyBlocksMsg=function(){return"يمكن حل هذا اللغز مع قطع."},c.tooMuchWork=function(){return"جعلتني أقوم بالكثير من العمل! هل بإمكانك أن تحاول جعل مرات التكرار أقل؟"},c.toolboxHeader=function(){return"قطع"},c.openWorkspace=function(){return"كيف يعمل ذلك"},c.totalNumLinesOfCodeWritten=function(a){return"مجموع كل الاوقات: "+p(a,"numLines",0,"ar",{one:"1 خط",other:n(a,"numLines")+" خطوط"})+" من الكود البرمجي."},c.tryAgain=function(){return"حاول مرة أخرى"},c.hintRequest=function(){return"شاهد التلميح"},c.backToPreviousLevel=function(){return"الرجوع إلى المستوى السابق"},c.saveToGallery=function(){return"حفظ في معرض الصور الخاص بك"},c.savedToGallery=function(){return"حفظ في معرض الصور الخاص بك!"},c.typeCode=function(){return"اكتب كود الـ JavaScript الخاص بك تحت هذه التعليمات."},c.typeFuncs=function(){return"الدوال المتاحة: %1"},c.typeHint=function(){return"تذكر أن الأقواس والفواصل المنقوطة ضرورية."},c.workspaceHeader=function(){return"أجمع القطع هنا: "},c.infinity=function(){return"ما لانهاية"},c.rotateText=function(){return"دور النص."},c.orientationLock=function(){return"قم بتعطيل قفل التوجه في اعدادات المستخدم."},c.wantToLearn=function(){return"هل تريد أن تتعلم البرمجة؟"},c.watchVideo=function(){return"شاهد الفيديو"},c.when=function(){return"عندما"},c.whenRun=function(){return"عند التنفيذ"},c.tryHOC=function(){return'جرب "Hour of Code"'},c.signup=function(){return"سجل لمشاهدة مقدمة الدورة"},c.hintHeader=function(){return"إليك نصيحة:"},c.genericFeedback=function(){return"راقب كيف انتهى، ثم حاول إصلاح البرنامج."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ar=function(a){return 0===a?"zero":1==a?"one":2==a?"two":a%100>=3&&10>=a%100&&a==Math.floor(a)?"few":a%100>=11&&99>=a%100&&a==Math.floor(a)?"many":"other"},c.actor=function(){return"الممثل"},c.catActions=function(){return"الأفعال"},c.catControl=function(){return"الجمل التكرارية"},c.catEvents=function(){return"الأحداث"},c.catLogic=function(){return"منطق"},c.catMath=function(){return"العمليات الحسابية"},c.catProcedures=function(){return"الدوال"},c.catText=function(){return"نص"},c.catVariables=function(){return"المتغيرات"},c.changeScoreTooltip=function(){return"إضافة أو إزالة نقطة ليسجل."},c.changeScoreTooltipK1=function(){return"إضافة نقطة إلى النقاط."},c.continue=function(){return"استمرار"},c.decrementPlayerScore=function(){return"إزالة نقطة"},c.defaultSayText=function(){return"اكتب هنا"},c.emotion=function(){return"الحالة"},c.finalLevel=function(){return"تهانينا ! لقد قمت بحل اللغز الاخير."},c.hello=function(){return"مرحبا"},c.helloWorld=function(){return"مرحباً بالعالم!"},c.incrementPlayerScore=function(){return"تحصيل نقطة"},c.makeProjectileDisappear=function(){return"تختفي"},c.makeProjectileBounce=function(){return"ترتد"},c.makeProjectileBlueFireball=function(){return"إصنع كرة ملتهلة زرقاء"},c.makeProjectilePurpleFireball=function(){return"إصنع كرة ملتهلة أرجوانية"},c.makeProjectileRedFireball=function(){return"إصنع كرة ملتهلة حمراء"},c.makeProjectileYellowHearts=function(){return"إصنع قلوب صفراء"},c.makeProjectilePurpleHearts=function(){return"إصنع قلوب أرجوانية"},c.makeProjectileRedHearts=function(){return"إصنع قلوب حمراء"},c.makeProjectileTooltip=function(){return"جعل القذيفة التي اصطدمت فقط تختفي أو ترتد."},c.makeYourOwn=function(){return"اجعل القصة الخاصة بك "},c.moveDirectionDown=function(){return"إلى أسفل"},c.moveDirectionLeft=function(){return"اليسار"},c.moveDirectionRight=function(){return"اليمين"},c.moveDirectionUp=function(){return"لأعلى"},c.moveDirectionRandom=function(){return"عشوائي"},c.moveDistance25=function(){return"25 بكسل"},c.moveDistance50=function(){return"50 بكسل"},c.moveDistance100=function(){return"100 بكسل"},c.moveDistance200=function(){return"200 بكسل"},c.moveDistance400=function(){return"400 بكسل"},c.moveDistancePixels=function(){return"بكسل"},c.moveDistanceRandom=function(){return" بكسل عشوائي"},c.moveDistanceTooltip=function(){return"التحرك فاعل على مسافة محددة في الاتجاه المحدد."},c.moveSprite=function(){return"تحرك"},c.moveSpriteN=function(a){return"تحريك الصورة "+v(a,"spriteIndex")},c.moveDown=function(){return"تحريك لأسفل"},c.moveDownTooltip=function(){return"نقل عنصر فاعل إلى أسفل."},c.moveLeft=function(){return"تحرك لليسار"},c.moveLeftTooltip=function(){return"نقل عنصر فاعل إلى اليسار."},c.moveRight=function(){return"تحريك لليمين"},c.moveRightTooltip=function(){return"نقل عنصر فاعل إلى اليمين."},c.moveUp=function(){return"تحريك لأعلى"},c.moveUpTooltip=function(){return"تحريك عنصر فاعل لأعلى."},c.moveTooltip=function(){return"نقل عنصر فاعل."},c.nextLevel=function(){return"تهانينا! لقد قمت بإكمال هذا اللغز."},c.no=function(){return"لا"},c.numBlocksNeeded=function(){return"يمكن حل هذا اللغز مع % 1من الكتل ."},c.ouchExclamation=function(){return"أي (الم) !"},c.playSoundCrunch=function(){return"تشغيل صوت انسحاق"},c.playSoundGoal1=function(){return"تشغيل صوت الهدف 1"},c.playSoundGoal2=function(){return"تشغيل صوت الهدف 2"},c.playSoundHit=function(){return"تشغيل صوت ضرب"},c.playSoundLosePoint=function(){return"تشغيل صوت فقد نقطة"},c.playSoundLosePoint2=function(){return"تشغيل صوت فقد نقطة 2"},c.playSoundRetro=function(){return"تشغيل صوت الرجعية"},c.playSoundRubber=function(){return"تشغيل صوت المطاط"},c.playSoundSlap=function(){return"تشغيل صوت صفعة"},c.playSoundTooltip=function(){return"تشغيل الصوت المختار."},c.playSoundWinPoint=function(){return"تشغيل صوت الفوز بنقطة"},c.playSoundWinPoint2=function(){return"تشغيل صوت الفوز بنقطة 2"},c.playSoundWood=function(){return"تشغيل صوت الخشب"},c.positionOutTopLeft=function(){return"إلى الموضع الأيسر العلوي أعلاه"},c.positionOutTopRight=function(){return"إلى الموضع الأيمن العلوي أعلاه"},c.positionTopOutLeft=function(){return"إلى الأعلى خارج الموضع الأيسر"},c.positionTopLeft=function(){return"إلى أعلى يسار"},c.positionTopCenter=function(){return"إلى أعلى المركز"},c.positionTopRight=function(){return"إلى الأيمن العلوي"},c.positionTopOutRight=function(){return"إلى الموضع الأيمن العلوي الخارجي"},c.positionMiddleLeft=function(){return"إلى الوسط الأيسر"},c.positionMiddleCenter=function(){return"إلى مركز الوسط"},c.positionMiddleRight=function(){return"الى يمين الوسط"},c.positionBottomOutLeft=function(){return"إلى الأسفل خارج الموضع الأيسر"},c.positionBottomLeft=function(){return"إلى الأيسر السفلي"},c.positionBottomCenter=function(){return"إلى مركز القاع"},c.positionBottomRight=function(){return"إلى الأيمن السفلي"},c.positionBottomOutRight=function(){return"إلى الأسفل خارج الموقف الايمن"},c.positionOutBottomLeft=function(){return"لأسفل أسفل اليسار موقف"},c.positionOutBottomRight=function(){return"لأدناه الموضع الأيمن السفلي"},c.positionRandom=function(){return"إلى مكان عشوائي"},c.projectileBlueFireball=function(){return"كرة ملتهبة زرقاء"},c.projectilePurpleFireball=function(){return"كرة ملتهبة أرجوانية"},c.projectileRedFireball=function(){return"كرة ملتهبة حمراء"},c.projectileYellowHearts=function(){return"قلوب صفراء"},c.projectilePurpleHearts=function(){return"قلوب أرجوانية"},c.projectileRedHearts=function(){return"قلوب حمراء"},c.projectileRandom=function(){return"عشوائي"},c.reinfFeedbackMsg=function(){return'يمكنك الضغط على زر "حاول مرة أخرى" للعودة للعبة الخاصة بك.'},c.repeatForever=function(){return"تكرار إلى الأبد"},c.repeatDo=function(){return"نفّذ"},c.repeatForeverTooltip=function(){return"تنفيذ الإجراءات في هذه الكتلة مرارا وتكرارا أثناء تشغيل القصة."},c.saySprite=function(){return"قول"},c.saySpriteN=function(a){return"يقول الممثل "+v(a,"spriteIndex")},c.saySpriteTooltip=function(){return"يطفو على فقاعة كلام مع النص المرتبط به من الفاعل المحدد."},c.scoreText=function(a){return"النقاط: "+v(a,"playerScore")},c.setBackground=function(){return"تعيين خلفية"},c.setBackgroundRandom=function(){return"تعيين خلفية عشوائية"},c.setBackgroundBlack=function(){return"تعيين خلفية سوداء"},c.setBackgroundCave=function(){return"تعيين خلفية المغارة"},c.setBackgroundCloudy=function(){return"تعيين خلفية غائم"},c.setBackgroundHardcourt=function(){return"تعيين خلفية الملاعب الصلبة"},c.setBackgroundNight=function(){return"تعيين خلفية الليل"},c.setBackgroundUnderwater=function(){return"تعيين خلفية تحت الماء"},c.setBackgroundCity=function(){return"قم بتعيين خلفية المدينة"},c.setBackgroundDesert=function(){return"قم بتعيين خلفية صحراوية"},c.setBackgroundRainbow=function(){return"قم بتعيين خلفية قوس القزح"},c.setBackgroundSoccer=function(){return"وضع خلفية لكرة القدم"},c.setBackgroundSpace=function(){return"وضع خلفية للفضاء"},c.setBackgroundTennis=function(){return"وضع خلفية للتنس"},c.setBackgroundWinter=function(){return"وضع خلفية الشتاء"},c.setBackgroundTooltip=function(){return"تحديد صورة الخلفية"},c.setScoreText=function(){return"تعيين نقاط"},c.setScoreTextTooltip=function(){return"تعيين النص ليتم عرضها في منطقة نقاط."},c.setSpriteEmotionAngry=function(){return"لمزاج غاضب"},c.setSpriteEmotionHappy=function(){return"لمزاج سعيد"},c.setSpriteEmotionNormal=function(){return"لمزاج معتدل"},c.setSpriteEmotionRandom=function(){return"لمزاج عشوائي"},c.setSpriteEmotionSad=function(){return"لمزاج حزين"},c.setSpriteEmotionTooltip=function(){return"يحدد مزاج الممثل"},c.setSpriteAlien=function(){return"إلى صورة مخلوق فضائي"},c.setSpriteBat=function(){return"صورة الوطواط"},c.setSpriteBird=function(){return"صورة العصفور"},c.setSpriteCat=function(){return"إلى صورة القط"},c.setSpriteCaveBoy=function(){return"لصورة فتى الكهف"},c.setSpriteCaveGirl=function(){return"لصورة فتاة الكهف"},c.setSpriteDinosaur=function(){return"إلى صورة ديناصور "},c.setSpriteDog=function(){return"الى صورة الكلب"},c.setSpriteDragon=function(){return"صورة التنين"},c.setSpriteGhost=function(){return"إلى صورة شبح"},c.setSpriteHidden=function(){return"إلى صورة مخفية"},c.setSpriteHideK1=function(){return"إخفاء"},c.setSpriteKnight=function(){return"إلى صورة فارس"},c.setSpriteMonster=function(){return"إلى صورة وحش"},c.setSpriteNinja=function(){return"إلى صورة نينجا مقنع"},c.setSpriteOctopus=function(){return"إلى صورة الأخطبوط"},c.setSpritePenguin=function(){return"إلى صورة البطريق"},c.setSpritePirate=function(){return"إلى صورة قرصان"},c.setSpritePrincess=function(){return"إلى صورة أميرة"},c.setSpriteRandom=function(){return"إلى صورة عشوائية"},c.setSpriteRobot=function(){return"إلى صورة إنسان آلي"},c.setSpriteShowK1=function(){return"إظهار"},c.setSpriteSpacebot=function(){return"إلى صورة إنسان آلي فضائي"},c.setSpriteSoccerGirl=function(){return"لصورة فتاة كرة القدم"},c.setSpriteSoccerBoy=function(){return"لصورة فتى كرة القدم"},c.setSpriteSquirrel=function(){return"صورة السنجاب"},c.setSpriteTennisGirl=function(){return"لصورة فتاة التنس"},c.setSpriteTennisBoy=function(){return"لصورة فتى التنس"},c.setSpriteUnicorn=function(){return"إلى صورة أحادي القرن"},c.setSpriteWitch=function(){return"إلى صورة ساحرة"},c.setSpriteWizard=function(){return"صورة الساحر"},c.setSpritePositionTooltip=function(){return"على الفور تحرك فاعل للموقع المحدد."},c.setSpriteK1Tooltip=function(){return"إظهار أو إخفاء الفاعل المحدد."},c.setSpriteTooltip=function(){return"تعيين صورة الفاعل"},c.setSpriteSizeRandom=function(){return"إلى حجم عشوائي"},c.setSpriteSizeVerySmall=function(){return"إلى حجم صغير جداً"},c.setSpriteSizeSmall=function(){return"إلى حجم صغير"},c.setSpriteSizeNormal=function(){return"إلى حجم عادي"},c.setSpriteSizeLarge=function(){return"إلى حجم كبير"},c.setSpriteSizeVeryLarge=function(){return"إلى حجم كبير جداً"},c.setSpriteSizeTooltip=function(){return"يحدد حجم الممثل"},c.setSpriteSpeedRandom=function(){return"إلى سرعة عشوائية"},c.setSpriteSpeedVerySlow=function(){return"بسرعة بطيئة جداً"},c.setSpriteSpeedSlow=function(){return"بسرعة بطيئة"},c.setSpriteSpeedNormal=function(){return"إلى سرعة العادية"},c.setSpriteSpeedFast=function(){return"إلى سرعة"},c.setSpriteSpeedVeryFast=function(){return"بسرعة سريعة جداً"},c.setSpriteSpeedTooltip=function(){return"تعيين سرعة فاعل"},c.setSpriteZombie=function(){return"إلى صورة زومبي"},c.shareStudioTwitter=function(){return"تحقق من القصة الذي أدليت به. لقد كتبتها بنفسي ب@codeorg"},c.shareGame=function(){return"شارك بقصك:"},c.showTitleScreen=function(){return"إظهار شاشة العنوان"},c.showTitleScreenTitle=function(){return"العنوان"},c.showTitleScreenText=function(){return"نص"},c.showTSDefTitle=function(){return"ضع العنوان هنا"},c.showTSDefText=function(){return"اكتب نصاً هنا"},c.showTitleScreenTooltip=function(){return"إظهار شاشة عنوان مع عنوان المرتبطة بها، والنص."},c.setSprite=function(){return"تعيين"},c.setSpriteN=function(a){return"تحديد موقع الصورة "+v(a,"spriteIndex")},c.soundCrunch=function(){return"سحق"},c.soundGoal1=function(){return"الهدف رقم1"},c.soundGoal2=function(){return"الهدف رقم 2"},c.soundHit=function(){return"إضرب"},c.soundLosePoint=function(){return"خسارة نقطة واحدة"},c.soundLosePoint2=function(){return"نقطة الخسارة 2"},c.soundRetro=function(){return"الرجعية"},c.soundRubber=function(){return"المطاط"},c.soundSlap=function(){return"الصفعة"},c.soundWinPoint=function(){return"الفوز بنقطة"},c.soundWinPoint2=function(){return"نقطة الفوز 2"},c.soundWood=function(){return"الخشب"},c.speed=function(){return"السرعة"},c.stopSprite=function(){return"وقف"},c.stopSpriteN=function(a){return"إيقاف الصورة "+v(a,"spriteIndex")},c.stopTooltip=function(){return"توقف حركة عنصر فاعل."},c.throwSprite=function(){return"رمي"},c.throwSpriteN=function(a){return"الممثل "+v(a,"spriteIndex")+" رمى"},c.throwTooltip=function(){return"يلقي قذيفة من الفاعل المحدد."},c.vanish=function(){return"يختفي"},c.vanishActorN=function(a){return"يختفي الممثل "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"يختفي الممثل ."},c.waitFor=function(){return"انتظر لمدة"},c.waitSeconds=function(){return"ثوانٍ"},c.waitForClick=function(){return"انتظر للنقر"},c.waitForRandom=function(){return"انتظر عشوائي"},c.waitForHalfSecond=function(){return"الانتظار لمدة نصف ثانية"},c.waitFor1Second=function(){return"انتظر لمدة ثانية"},c.waitFor2Seconds=function(){return"انتظر لمدة ثانيتين"},c.waitFor5Seconds=function(){return"انتظر لمدة 5 ثواني"},c.waitFor10Seconds=function(){return"انتظر لمدة 10 ثوان"},c.waitParamsTooltip=function(){return"إنتظر لعدد محدد من الثواني او إستعمل الرقم صفر حتى تحدث النقرة."},c.waitTooltip=function(){return"ينتظر لفترة محددة من الوقت، أو حتى يحدث نقرة."},c.whenArrowDown=function(){return"السهم نحو الأسفل"},c.whenArrowLeft=function(){return"السهم نحو اليسار"},c.whenArrowRight=function(){return"السهم نحو اليمين"},c.whenArrowUp=function(){return"سهم لأعلى"},c.whenArrowTooltip=function(){return"قم بتنفيذ الإجراءات ادناه عندما يتم الضغط على المفتاح المحدد."},c.whenDown=function(){return"السهم لأسفل"},c.whenDownTooltip=function(){return"تنفيذ الإجراءات أدناه عند الضغط على مفتاح السهم لأسفل."},c.whenGameStarts=function(){return"عندما تبدأ القصة"},c.whenGameStartsTooltip=function(){return"تنفيذ الإجراءات أدناه عندما تبدأ القصة."},c.whenLeft=function(){return"السهم الايسر"},c.whenLeftTooltip=function(){return"تنفيذ الإجراءات أدناه عند الضغط على مفتاح السهم الأيسر."},c.whenRight=function(){return"السهم الأيمن"},c.whenRightTooltip=function(){return"تنفيذ الإجراءات أدناه عند الضغط على مفتاح السهم الأيمن."},c.whenSpriteClicked=function(){return"عند النقر فوق الفاعل"},c.whenSpriteClickedN=function(a){return"عندما يضغط الممثل "+v(a,"spriteIndex")},c.whenSpriteClickedTooltip=function(){return"تنفيذ الإجراءات أدناه عند النقر فوق عنصر فاعل."},c.whenSpriteCollidedN=function(a){return"عندما الممثل "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"تنفيذ الإجراءات أدناه عندما يلامس فاعل فاعل آخر."},c.whenSpriteCollidedWith=function(){return"لمسات"},c.whenSpriteCollidedWithN=function(a){return"يلمس الممثل "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"ألمس الكرة الملتهبة الزرقاء"},c.whenSpriteCollidedWithPurpleFireball=function(){return"ألمس الكرة الملتهبة الأرجوانية"},c.whenSpriteCollidedWithRedFireball=function(){return"ألمس الكرة الملتهبة الحمراء"},c.whenSpriteCollidedWithYellowHearts=function(){return"ألمس القلوب الصفراء"},c.whenSpriteCollidedWithPurpleHearts=function(){return"ألمس القلوب الأرجوانية"},c.whenSpriteCollidedWithRedHearts=function(){return"ألمس القلوب الحمراء"},c.whenSpriteCollidedWithBottomEdge=function(){return"عند ملامسة الحافة السفلية"},c.whenSpriteCollidedWithLeftEdge=function(){return"يلمس الحافة اليسرى"},c.whenSpriteCollidedWithRightEdge=function(){return"يلمس الحافة اليمنى"},c.whenSpriteCollidedWithTopEdge=function(){return"يلمس الحافة العليا"},c.whenUp=function(){return"عند الضغط على السهم لاعلى"},c.whenUpTooltip=function(){return"تنفيذ الإجراءات أدناه عند الضغط على مفتاح سهم لأعلى."},c.yes=function(){return"نعم"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/az_az/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/az_az/common":40,"../../locale/az_az/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/az_az/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/az_az/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/az_az/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/az_az/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/az_az/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/az_az/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/az_az/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/az_az/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/az_az/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/az_az/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/az_az/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/az_az/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.en=function(a){return 1===a?"one":"other"},c.and=function(){return"və"},c.blocklyMessage=function(){return'"Blockly"'},c.catActions=function(){return"Əmrlər"},c.catColour=function(){return"Rəng"},c.catLogic=function(){return"Məntiq"},c.catLists=function(){return"Siyahılar"},c.catLoops=function(){return"Dövrlər"},c.catMath=function(){return"Riyaziyyat"},c.catProcedures=function(){return"Funksiyalar"},c.catText=function(){return"Mətn"},c.catVariables=function(){return"Dəyişənlər"},c.codeTooltip=function(){return'Generasiya olunmuş "JavaScript" kodunu nəzərdən keçirin.'},c.continue=function(){return"Davam et"},c.dialogCancel=function(){return"İmtina et"},c.dialogOK=function(){return"Oldu"},c.directionNorthLetter=function(){return"Şimal"},c.directionSouthLetter=function(){return"Cənub"},c.directionEastLetter=function(){return"Şərq"},c.directionWestLetter=function(){return"Qərb"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'"Təkrar" və ya "Əgər" blokları işləsin deyə içərisində başqa blokların olmağı lazımdır. Əmin olun ki, daxili blokun konteyner blokun içərisinə düz yerləşir.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Təbriklər! Siz son mərhələni başa vurdunuz."},c.finalStageTrophies=function(a){return"Təbriklər! Siz sonuncu mərhələni tamamladınız və "+p(a,"numTrophies",0,"en",{one:"bir kubok",other:n(a,"numTrophies")+" kubok"})+" qazandınız."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return'Proqramınızın blokları dünyanın ən geniş qəbul olunmuş proqramlaşdırma dili olan "JavaScript"də ("cavaskript") də yazıla bilər:'},c.hashError=function(){return"Təəssüf ki, '%1' yaddaşa verilmiş heç bir proqramla uyğunlaşmır."},c.help=function(){return"Kömək"},c.hintTitle=function(){return"Məsləhət:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"Siz bütün lazım olan bloklardan istifadə edirsiniz amma səhv formada."},c.listVariable=function(){return"siyahı"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Bu tapmacanı həll etmək üçün aşağıdakı bloklardan bir və ya bir neçəsini sınaqdan keçirin."},c.nextLevel=function(a){return"Təbriklər! Tapmaca "+v(a,"puzzleNumber")+" tapıldı."},c.nextLevelTrophies=function(a){return"Təbriklər! Siz "+v(a,"puzzleNumber")+" nömrəli tapmacanı tamamladınız və "+p(a,"numTrophies",0,"en",{one:"bir kubok",other:n(a,"numTrophies")+" kubok"})+" qazandınız."},c.nextStage=function(a){return"Təbriklər! Siz "+v(a,"stageName")+" mərhələsini tamamladınız."},c.nextStageTrophies=function(a){return"Təbriklər! Siz "+v(a,"stageName")+" mərhələsini tamamladınız və "+p(a,"numTrophies",0,"en",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+" qazandınız." },c.numBlocksNeeded=function(a){return"Təbriklər! Siz "+v(a,"puzzleNumber")+" nömrəli tapmacanı tamamladınız. (Amma siz cəmi "+p(a,"numBlocks",0,"en",{one:"1 blokdan",other:n(a,"numBlocks")+" blokdan"})+" istifadə edə bilərdiniz)"},c.numLinesOfCodeWritten=function(a){return"Siz indicə "+p(a,"numLines",0,"en",{one:"bir sətir",other:n(a,"numLines")+" sətir"})+" kod yazdınız!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Tapmaca "+v(a,"puzzle_number")+" (cəmi "+v(a,"stage_total")+" tapmaca var)"},c.repeat=function(){return"təkrar et"},c.resetProgram=function(){return"Yenidən başla"},c.runProgram=function(){return"İcra et"},c.runTooltip=function(){return"İş sahəsindəki blokların təsvir etdiyi proqramı icra et."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Kodu göstər"},c.showGeneratedCode=function(){return"Kodu göstər"},c.subtitle=function(){return"vizual proqramlaşdırma mühiti"},c.textVariable=function(){return"mətn"},c.tooFewBlocksMsg=function(){return"Siz bütün lazım olan blok növlərindən istifadə edirsiniz, amma bu tapmacanı tamamlamaq üçün daha çox blok növlərindən istifadə etməyə çalışın."},c.tooManyBlocksMsg=function(){return"Bu tapmaca blokla həll oluna bilər."},c.tooMuchWork=function(){return"Siz mənə çox iş gördürdünüz! Təkrarlamaları azalda bilərsiniz?"},c.toolboxHeader=function(){return"Bloklar"},c.openWorkspace=function(){return"Bu necə işləyir?"},c.totalNumLinesOfCodeWritten=function(a){return"Ümumi cəm: "+p(a,"numLines",0,"en",{one:"1 sətir",other:n(a,"numLines")+" sətir"})+" kod."},c.tryAgain=function(){return"Bir daha cəhd edin"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Əvvəlki mərhələyə qayıt"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Bu təlimatların aşağısında öz JavaScript kodunuzu yazın."},c.typeFuncs=function(){return"Mövcud funksiyalar:%1"},c.typeHint=function(){return"Nəzərə alın ki, mötəriləzər və nöqtəli vergüllər vacibdir."},c.workspaceHeader=function(){return"Bloklarınızı burada birləşdirin: "},c.infinity=function(){return"Sonsuzluq"},c.rotateText=function(){return"Cihazınızı döndərin."},c.orientationLock=function(){return"Cihaz nizamlamalarında səmt kilidini söndürün."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Vidəo izle"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Kodlama Saati'ni dənə"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.en=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Əmrlər"},c.catControl=function(){return"Dövrlər"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Məntiq"},c.catMath=function(){return"Riyaziyyat"},c.catProcedures=function(){return"Funksiyalar"},c.catText=function(){return"Mətn"},c.catVariables=function(){return"Dəyişənlər"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Davam et"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"burada yazın"},c.emotion=function(){return"emotion"},c.finalLevel=function(){return"Təbriklər! Axırıncı tapmacanı da tapdınız."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"təsadüfi"},c.moveDistance25=function(){return"25 piksel"},c.moveDistance50=function(){return"50 piksel"},c.moveDistance100=function(){return"100 piksel"},c.moveDistance200=function(){return"200 piksel"},c.moveDistance400=function(){return"400 piksel"},c.moveDistancePixels=function(){return"piksel"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Təbriklər! Siz bu tapmacanı tamamladınız."},c.no=function(){return"Xeyr"},c.numBlocksNeeded=function(){return"Bu tapmaca %1 blokla həll oluna bilər."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"təsadüfi"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"et"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"mətn"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"təyin et"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Bəli"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/bg_bg/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/bg_bg/common":40,"../../locale/bg_bg/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bg_bg/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bg_bg/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/bg_bg/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/bg_bg/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/bg_bg/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bg_bg/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bg_bg/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bg_bg/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/bg_bg/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bg_bg/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bg_bg/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bg_bg/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.bg=function(a){return 1===a?"one":"other"},c.and=function(){return"и"},c.blocklyMessage=function(){return"Блокли"},c.catActions=function(){return"Действия"},c.catColour=function(){return"Цвят"},c.catLogic=function(){return"Логика"},c.catLists=function(){return"Списъци"},c.catLoops=function(){return"Цикли"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Функции"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Променливи"},c.codeTooltip=function(){return"Виж генерирания JavaScript код."},c.continue=function(){return"Продължение"},c.dialogCancel=function(){return"Отмяна"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"С"},c.directionSouthLetter=function(){return"Ю"},c.directionEastLetter=function(){return"И"},c.directionWestLetter=function(){return"З"},c.end=function(){return"край"},c.emptyBlocksErrorMsg=function(){return'Блоковете за повторение и "ако" трябва да съдържат други блокове в себе си, за да работят. Уверете се, че вътрешния блок е захванат правилно към външния блок.'},c.emptyFunctionBlocksErrorMsg=function(){return"Блокът за функция трябва да има други блокове вътре в себе си, за да работи."},c.extraTopBlocks=function(){return"Имате допълнителни блокчета, които не са били използвани в събитийния блок."},c.finalStage=function(){return"Поздравления! Вие завършихте последния етап."},c.finalStageTrophies=function(a){return"Поздравления! Вие завършихте последния етап и спечелихте "+p(a,"numTrophies",0,"bg",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Финал"},c.generatedCodeInfo=function(a){return"Дори най-добрите университети учат блок базирано програмиране(напр., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Но под капака, блоковете представляват кодове, написани на JavaScript, в света най-широко използваният за програмиране език:"},c.hashError=function(){return"За съжаление, '%1' не съответства на нито една запазена програма."},c.help=function(){return"Помощ"},c.hintTitle=function(){return"Съвет:"},c.jump=function(){return"скок"},c.levelIncompleteError=function(){return"Използвате всички необходими блокове, но не по правилния начин."},c.listVariable=function(){return"списък"},c.makeYourOwnFlappy=function(){return"Направете своя собствена Flappy Bird игра"},c.missingBlocksErrorMsg=function(){return"Опитайте един или повече блокове по-долу, за да решите този пъзел."},c.nextLevel=function(a){return"Поздравления! Приключихте пъзел "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Поздравления! Завършихте пъзел "+v(a,"puzzleNumber")+" и спечелихте "+p(a,"numTrophies",0,"bg",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Поздравления! Вие завършихте "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Поздравления! Завършихте етап "+v(a,"stageName")+" и спечелихте "+p(a,"numTrophies",0,"bg",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Поздравления! Приключихте пъзел "+v(a,"puzzleNumber")+". (Въпреки това, можехте да използвате само "+p(a,"numBlocks",0,"bg",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"Вие написахте "+p(a,"numLines",0,"bg",{one:"1line",other:n(a,"numLines")+" lines"})+" код!"},c.play=function(){return"играй"},c.puzzleTitle=function(a){return"Пъзел "+v(a,"puzzle_number")+" от "+v(a,"stage_total")},c.repeat=function(){return"повтори"},c.resetProgram=function(){return"Начално състояние"},c.runProgram=function(){return"Пусни"},c.runTooltip=function(){return"Стартира програмата, определена от блоковете в работното поле."},c.score=function(){return"резултат"},c.showCodeHeader=function(){return"Покажи кода"},c.showGeneratedCode=function(){return"Покажи кода"},c.subtitle=function(){return"визуална среда за програмиране"},c.textVariable=function(){return"текст"},c.tooFewBlocksMsg=function(){return"Вие използвате всички нужни блокове, но в недостатъчно количество, за да завършите този пъзел."},c.tooManyBlocksMsg=function(){return"Този пъзел може да бъде решен с блокове."},c.tooMuchWork=function(){return"Накара ме да се изпотя! Може ли да пробваме, но с по-малко повторения?"},c.toolboxHeader=function(){return"Блокове"},c.openWorkspace=function(){return"Как работи"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"bg",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Опитайте отново"},c.hintRequest=function(){return"Виж съвета"},c.backToPreviousLevel=function(){return"Обратно към предишното ниво"},c.saveToGallery=function(){return"Запазете във вашата галерия"},c.savedToGallery=function(){return"Запазено във вашата галерия!"},c.typeCode=function(){return"Въведете вашия JavaScript код под тези инструкции."},c.typeFuncs=function(){return"Налични функции:%1"},c.typeHint=function(){return"Обърнете внимание, че скобите и знаците точка и запетая са задължителни."},c.workspaceHeader=function(){return"Сглобете вашите блокове тук: "},c.infinity=function(){return"Безкрайност"},c.rotateText=function(){return"Завъртете устройството си."},c.orientationLock=function(){return"Изключете заключването на ориентацията от опциите на устройството."},c.wantToLearn=function(){return"Искате ли да се научите да кодирате?"},c.watchVideo=function(){return"Гледайте видеото"},c.when=function(){return"когато"},c.whenRun=function(){return"при стартиране"},c.tryHOC=function(){return"Опитайте Часа на Кодирането"},c.signup=function(){return"Регистрирайте се във встъпителния курс"},c.hintHeader=function(){return"Ето един съвет:"},c.genericFeedback=function(){return"Вижте какво сте въвели и се опитайте да коригирате вашата програма."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.bg=function(a){return 1===a?"one":"other"},c.actor=function(){return"актьор"},c.catActions=function(){return"Действия"},c.catControl=function(){return"Повторения"},c.catEvents=function(){return"Събития"},c.catLogic=function(){return"Логика"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Функции"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Променливи"},c.changeScoreTooltip=function(){return"Добавяне или премахване на точка към резултата."},c.changeScoreTooltipK1=function(){return"Добавяне на точка към резултата."},c.continue=function(){return"Напред"},c.decrementPlayerScore=function(){return"премахване на точка"},c.defaultSayText=function(){return"Въведете тук"},c.emotion=function(){return"настроение"},c.finalLevel=function(){return"Поздравления! Вие решихте последния пъзел."},c.hello=function(){return"Здравейте"},c.helloWorld=function(){return"Здравей, свят!"},c.incrementPlayerScore=function(){return"точка"},c.makeProjectileDisappear=function(){return"изчезва"},c.makeProjectileBounce=function(){return"скача"},c.makeProjectileBlueFireball=function(){return"направи синя огнена топка"},c.makeProjectilePurpleFireball=function(){return"направи лилава огнена топка"},c.makeProjectileRedFireball=function(){return"направи червена огнена топка"},c.makeProjectileYellowHearts=function(){return"направи жълти сърца"},c.makeProjectilePurpleHearts=function(){return"направи лилави сърца"},c.makeProjectileRedHearts=function(){return"направи червени сърца"},c.makeProjectileTooltip=function(){return"Прави снаряд, който се блъска, изчезва или скача."},c.makeYourOwn=function(){return"Създайте своя собствена история"},c.moveDirectionDown=function(){return"надолу"},c.moveDirectionLeft=function(){return"ляво"},c.moveDirectionRight=function(){return"дясно"},c.moveDirectionUp=function(){return"нагоре"},c.moveDirectionRandom=function(){return"случаен"},c.moveDistance25=function(){return"25 пиксела"},c.moveDistance50=function(){return"50 пиксела"},c.moveDistance100=function(){return"100 пиксела"},c.moveDistance200=function(){return"200 пиксела"},c.moveDistance400=function(){return"400 пиксела"},c.moveDistancePixels=function(){return"пиксели"},c.moveDistanceRandom=function(){return"случаен брой пиксела"},c.moveDistanceTooltip=function(){return"Премества актьорът на определена дистанция в определената посока."},c.moveSprite=function(){return"Премести"},c.moveSpriteN=function(a){return"Премести актьор "+v(a,"spriteIndex")},c.moveDown=function(){return"Премести надолу"},c.moveDownTooltip=function(){return"Премести актьор надолу."},c.moveLeft=function(){return"движение наляво"},c.moveLeftTooltip=function(){return"Преместване на актьора вляво."},c.moveRight=function(){return"Преместване надясно"},c.moveRightTooltip=function(){return"Преместване на актьора вдясно."},c.moveUp=function(){return"Премести нагоре"},c.moveUpTooltip=function(){return"Премества актьорът нагоре."},c.moveTooltip=function(){return"Преместване на актьор."},c.nextLevel=function(){return"Поздравления! Вие завършихте този пъзел."},c.no=function(){return"Не"},c.numBlocksNeeded=function(){return"Този пъзел може да бъде решен с %1 блока."},c.ouchExclamation=function(){return"Ох!"},c.playSoundCrunch=function(){return"възпроизвежда звук на болка"},c.playSoundGoal1=function(){return"възпроизвежда звук 1 гол"},c.playSoundGoal2=function(){return"възпроизвежда звук 2 гол"},c.playSoundHit=function(){return"възпроизвежда звук за игра"},c.playSoundLosePoint=function(){return"възпроизвежда звук за загуба на точка"},c.playSoundLosePoint2=function(){return"възпроизвежда звук 2 за загуба на точка"},c.playSoundRetro=function(){return"възпроизвежда ретро звук"},c.playSoundRubber=function(){return"възпроизвежда звук на ластик"},c.playSoundSlap=function(){return"възпроизвежда звук от шамар"},c.playSoundTooltip=function(){return"Възпроизвежда избраният звук."},c.playSoundWinPoint=function(){return"възпроизвежда звук на победа точка"},c.playSoundWinPoint2=function(){return"възпроизвежда звук 2 на победа точка"},c.playSoundWood=function(){return"възпроизвежда звук от дърво"},c.positionOutTopLeft=function(){return"на позиция горе вляво"},c.positionOutTopRight=function(){return"към позиция горе вдясно"},c.positionTopOutLeft=function(){return"горе извън лявата позиция"},c.positionTopLeft=function(){return"позиция горе вляво"},c.positionTopCenter=function(){return"позиция в центъра"},c.positionTopRight=function(){return"към позиция горе вдясно"},c.positionTopOutRight=function(){return"горе извън дясната позиция"},c.positionMiddleLeft=function(){return"към положение ляв център"},c.positionMiddleCenter=function(){return"в позиция център"},c.positionMiddleRight=function(){return"в позиция десен център"},c.positionBottomOutLeft=function(){return"надолу извън лявата позиция"},c.positionBottomLeft=function(){return"в позиция долен ляв"},c.positionBottomCenter=function(){return"в позиция долен център"},c.positionBottomRight=function(){return"в позиция долен десен ъгъл"},c.positionBottomOutRight=function(){return"долу извън дясната позиция"},c.positionOutBottomLeft=function(){return"под долната лява позиция"},c.positionOutBottomRight=function(){return"под долната дясна позиция"},c.positionRandom=function(){return"на случайна позиция"},c.projectileBlueFireball=function(){return"синя огнена топка"},c.projectilePurpleFireball=function(){return"лилава огнена топка"},c.projectileRedFireball=function(){return"червена огнена топка"},c.projectileYellowHearts=function(){return"жълти сърца"},c.projectilePurpleHearts=function(){return"лилави сърца"},c.projectileRedHearts=function(){return"червени сърца"},c.projectileRandom=function(){return"случаен"},c.reinfFeedbackMsg=function(){return'Може да натиснете бутона "Опитай отново", за да се върнете към играта си.'},c.repeatForever=function(){return"Повтаря завинаги"},c.repeatDo=function(){return"прави"},c.repeatForeverTooltip=function(){return"Изпълнява действията в този блок, докато тече историята."},c.saySprite=function(){return"казва"},c.saySpriteN=function(a){return"актьор "+v(a,"spriteIndex")+" казва"},c.saySpriteTooltip=function(){return"Запълни балончето за реч със съответния текст на определен актьор."},c.scoreText=function(a){return"Резултат: "+v(a,"playerScore")},c.setBackground=function(){return"задава фон"},c.setBackgroundRandom=function(){return"задайте произволен фон"},c.setBackgroundBlack=function(){return"задава черен фон"},c.setBackgroundCave=function(){return"задава фон пещера"},c.setBackgroundCloudy=function(){return"задава облачен фон"},c.setBackgroundHardcourt=function(){return"задава фон с твърдо покритие"},c.setBackgroundNight=function(){return"задава фон нощ"},c.setBackgroundUnderwater=function(){return"задава подводен фон"},c.setBackgroundCity=function(){return"Задаване на фон град"},c.setBackgroundDesert=function(){return"Задаване на фон пустиня"},c.setBackgroundRainbow=function(){return"Задаване на фон дъга"},c.setBackgroundSoccer=function(){return"Задаване на фон стадион"},c.setBackgroundSpace=function(){return"Задаване на фон космос"},c.setBackgroundTennis=function(){return"задаване на фон тенискорт"},c.setBackgroundWinter=function(){return"задаване на фон зима"},c.setBackgroundTooltip=function(){return"Задаване на фоновото изображение"},c.setScoreText=function(){return"поставя резултат"},c.setScoreTextTooltip=function(){return"Задава текстът да се показва в областта на резултата."},c.setSpriteEmotionAngry=function(){return"ядосано настроение"},c.setSpriteEmotionHappy=function(){return"с весело настроение"},c.setSpriteEmotionNormal=function(){return"за нормалното настроение"},c.setSpriteEmotionRandom=function(){return"за случайно настроение"},c.setSpriteEmotionSad=function(){return"за тъжно настроение"},c.setSpriteEmotionTooltip=function(){return"Задава настроението на Актьора"},c.setSpriteAlien=function(){return"изображение на извънземно"},c.setSpriteBat=function(){return"изображение на прилеп"},c.setSpriteBird=function(){return"изображение на птица"},c.setSpriteCat=function(){return"изображение на котка"},c.setSpriteCaveBoy=function(){return"към изображението на пещерно момче"},c.setSpriteCaveGirl=function(){return"към изображението на пещерно момиче"},c.setSpriteDinosaur=function(){return"изображение на динозавър"},c.setSpriteDog=function(){return"изображение на куче"},c.setSpriteDragon=function(){return"изображение на дракон"},c.setSpriteGhost=function(){return"изображение на дух"},c.setSpriteHidden=function(){return"към скрито изображение"},c.setSpriteHideK1=function(){return"скрива"},c.setSpriteKnight=function(){return"изоражение на кон"},c.setSpriteMonster=function(){return"изображение на чудовище"},c.setSpriteNinja=function(){return"изоражение на маскиран нинджа"},c.setSpriteOctopus=function(){return"изоражение на октопод"},c.setSpritePenguin=function(){return"изоражение на пингвин"},c.setSpritePirate=function(){return"изоражение на пират"},c.setSpritePrincess=function(){return"изоражение на принцеса"},c.setSpriteRandom=function(){return"случайно изображение"},c.setSpriteRobot=function(){return"изоражение на робот"},c.setSpriteShowK1=function(){return"показва"},c.setSpriteSpacebot=function(){return"изображение на космически робот"},c.setSpriteSoccerGirl=function(){return"към изображението на момиче футболист"},c.setSpriteSoccerBoy=function(){return"към изображението на момче футболист"},c.setSpriteSquirrel=function(){return"изображение на катерица"},c.setSpriteTennisGirl=function(){return"към изображението на момиче тенесист"},c.setSpriteTennisBoy=function(){return"към изображението на момче тенесист"},c.setSpriteUnicorn=function(){return"изображение на еднорог"},c.setSpriteWitch=function(){return"изображение на вещица"},c.setSpriteWizard=function(){return"изображение на магьосник"},c.setSpritePositionTooltip=function(){return"Веднага предвижва актьор към указаното местоположение."},c.setSpriteK1Tooltip=function(){return"Показва или скрива определен актьор."},c.setSpriteTooltip=function(){return"Задава изображение на актьора"},c.setSpriteSizeRandom=function(){return"с произволен размер"},c.setSpriteSizeVerySmall=function(){return"с много малък размер"},c.setSpriteSizeSmall=function(){return"с малък размер"},c.setSpriteSizeNormal=function(){return"с нормален размер"},c.setSpriteSizeLarge=function(){return"с голям размер"},c.setSpriteSizeVeryLarge=function(){return"с много голям размер"},c.setSpriteSizeTooltip=function(){return"Задава размера на актьор"},c.setSpriteSpeedRandom=function(){return"на случайна скорост"},c.setSpriteSpeedVerySlow=function(){return"на много бавна скорост"},c.setSpriteSpeedSlow=function(){return"на бавна скорост"},c.setSpriteSpeedNormal=function(){return"за нормална скорост"},c.setSpriteSpeedFast=function(){return"на бърза скорост"},c.setSpriteSpeedVeryFast=function(){return"на много бърза скорост"},c.setSpriteSpeedTooltip=function(){return"Задава скоростта на актьор"},c.setSpriteZombie=function(){return"изображение на зомби"},c.shareStudioTwitter=function(){return"Вижте историята, която направих. Аз сам я написал с @codeorg"},c.shareGame=function(){return"Споделете вашата история:"},c.showTitleScreen=function(){return"показва заглавния екран"},c.showTitleScreenTitle=function(){return"Заглавие"},c.showTitleScreenText=function(){return"текст"},c.showTSDefTitle=function(){return"въведи заглавието тук"},c.showTSDefText=function(){return"Въведи текст тук"},c.showTitleScreenTooltip=function(){return"Показва заглавието на екрана."},c.setSprite=function(){return"задава"},c.setSpriteN=function(a){return"задава актьор "+v(a,"spriteIndex")},c.soundCrunch=function(){return"криза"},c.soundGoal1=function(){return"гол 1"},c.soundGoal2=function(){return"гол 2"},c.soundHit=function(){return"удар"},c.soundLosePoint=function(){return"загуби точка"},c.soundLosePoint2=function(){return"загуби точка 2"},c.soundRetro=function(){return"ретро"},c.soundRubber=function(){return"каучук"},c.soundSlap=function(){return"шамар"},c.soundWinPoint=function(){return"спечели точка"},c.soundWinPoint2=function(){return"спечели точка 2"},c.soundWood=function(){return"дърво"},c.speed=function(){return"скорост"},c.stopSprite=function(){return"Стоп"},c.stopSpriteN=function(a){return"спира актьор "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Спира движението на актьора."},c.throwSprite=function(){return"хвърля"},c.throwSpriteN=function(a){return"актьор "+v(a,"spriteIndex")+" хвърля"},c.throwTooltip=function(){return"Хвърляне на ракета от определен актьор."},c.vanish=function(){return"изчезване"},c.vanishActorN=function(a){return"изчезва актьорът "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Изчезване на актьор."},c.waitFor=function(){return"изчаква за"},c.waitSeconds=function(){return"секунди"},c.waitForClick=function(){return"изчаква за кликване"},c.waitForRandom=function(){return"изчаква за случайно"},c.waitForHalfSecond=function(){return"изчаква за половин секунда"},c.waitFor1Second=function(){return"изчаква за 1 секунда"},c.waitFor2Seconds=function(){return"изчаква за 2 секунди"},c.waitFor5Seconds=function(){return"изчакава 5 секунди"},c.waitFor10Seconds=function(){return"изчаква 10 секунди"},c.waitParamsTooltip=function(){return"Задава определен брой секунди да се изчака или нула за изчакване след едно кликване."},c.waitTooltip=function(){return"Изчакване за определен период от време или до извършване на щракване."},c.whenArrowDown=function(){return"стрелка надолу"},c.whenArrowLeft=function(){return"стрелка наляво"},c.whenArrowRight=function(){return"стрелка надясно"},c.whenArrowUp=function(){return"стрелка нагоре"},c.whenArrowTooltip=function(){return"Следва действията по-долу когато е натисната определена стрелка."},c.whenDown=function(){return"Когато стрелката надолу"},c.whenDownTooltip=function(){return"Следвайте действията по-долу когато е натисната стрелка надолу."},c.whenGameStarts=function(){return"Когато историята започне"},c.whenGameStartsTooltip=function(){return"Следвайте действията по-долу, когато историята започва."},c.whenLeft=function(){return"когато стрелка наляво "},c.whenLeftTooltip=function(){return"Изпълнява действията по-долу когато е натисната стрелка надолу."},c.whenRight=function(){return"когато стрелка надясно"},c.whenRightTooltip=function(){return"Изпълнява действията по-долу когато е натиснат клавиша стрелка надясно."},c.whenSpriteClicked=function(){return"когато актьор натиска"},c.whenSpriteClickedN=function(a){return"когато актьор натиска на "+v(a,"spriteIndex")},c.whenSpriteClickedTooltip=function(){return"Изпълнява действията по-долу когато се кликне върху актьор."},c.whenSpriteCollidedN=function(a){return"Когато актьор "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Изпълнява действията по-долу когато актьор докосва друг актьор."},c.whenSpriteCollidedWith=function(){return"докосване"},c.whenSpriteCollidedWithN=function(a){return"докосва актьор "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"докосва синята огнена топка"},c.whenSpriteCollidedWithPurpleFireball=function(){return"докосва лилавата огнена топка"},c.whenSpriteCollidedWithRedFireball=function(){return"докосва червената огнена топка"},c.whenSpriteCollidedWithYellowHearts=function(){return"докосва жълтите сърца"},c.whenSpriteCollidedWithPurpleHearts=function(){return"докосва лилавите сърца"},c.whenSpriteCollidedWithRedHearts=function(){return"докосва червените сърца"},c.whenSpriteCollidedWithBottomEdge=function(){return"докосва долния ръб"},c.whenSpriteCollidedWithLeftEdge=function(){return"докосва ляв ръб"},c.whenSpriteCollidedWithRightEdge=function(){return"докосва десния ръб"},c.whenSpriteCollidedWithTopEdge=function(){return"докосва горния ръб"},c.whenUp=function(){return"Когато клавишът стрелка нагоре"},c.whenUpTooltip=function(){return"Изпълнява действията по-долу когато е натисната стрелка нагоре."},c.yes=function(){return"Да"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a); var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/bn_bd/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/bn_bd/common":40,"../../locale/bn_bd/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bn_bd/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bn_bd/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/bn_bd/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/bn_bd/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/bn_bd/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bn_bd/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bn_bd/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bn_bd/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/bn_bd/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bn_bd/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/bn_bd/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/bn_bd/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.bn=function(a){return 1===a?"one":"other"},c.and=function(){return"এবং"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"ক্রিয়া"},c.catColour=function(){return"রং"},c.catLogic=function(){return"যুক্তি"},c.catLists=function(){return"তালিকা"},c.catLoops=function(){return"Loops"},c.catMath=function(){return"গণিত"},c.catProcedures=function(){return"ফাংশনগুলি"},c.catText=function(){return"পাঠ"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"See generated JavaScript code."},c.continue=function(){return"চালিয়ে যান"},c.dialogCancel=function(){return"বাতিল করুন"},c.dialogOK=function(){return"ঠিক আছে"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Congratulations! You have completed the final stage."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"bn",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"The blocks for your program can also be represented in JavaScript, the world's most widely adopted programming language:"},c.hashError=function(){return"Sorry, '%1' doesn't correspond with any saved program."},c.help=function(){return"সাহায্য"},c.hintTitle=function(){return"সংকেত:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"তালিকা"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"bn",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+" and won "+p(a,"numTrophies",0,"bn",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"bn",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"bn",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")},c.repeat=function(){return"পুনরাই"},c.resetProgram=function(){return"পুনরায় সেট করুন"},c.runProgram=function(){return"প্রোগ্রাম চালান"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"কোড প্রদর্শন করুন"},c.showGeneratedCode=function(){return"কোড প্রদর্শন করুন"},c.subtitle=function(){return"ভিজ্যুয়াল প্রোগ্রামিং পরিবেশ"},c.textVariable=function(){return"পাঠ"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"Blocks"},c.openWorkspace=function(){return"এটি কিভাবে কাজ করে"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"bn",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"আবার চেষ্টা করুন"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Back to previous level"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Type your JavaScript code below these instructions."},c.typeFuncs=function(){return"Available functions:%1"},c.typeHint=function(){return"Note that the parentheses and semicolons are required."},c.workspaceHeader=function(){return"Assemble your blocks here: "},c.infinity=function(){return"অসীম"},c.rotateText=function(){return"আপনার ডিভাইস ঘুরান।"},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.bn=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"ক্রিয়া"},c.catControl=function(){return"Loops"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"যুক্তি"},c.catMath=function(){return"গণিত"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"পাঠ"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"চালিয়ে যান"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"emotion"},c.finalLevel=function(){return"Congratulations! You have solved the final puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"এলোমেলো"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"পিক্সেলগুলো"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"অভিনন্দন! আপনি এই ধাঁধা সম্পন্ন করেছেন।"},c.no=function(){return"না"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"এলোমেলো"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"করা"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"পাঠ"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"স্থির"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return'"হ্যাঁ"'}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||""; var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ca_es/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ca_es/common":40,"../../locale/ca_es/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ca_es/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ca_es/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ca_es/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ca_es/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ca_es/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ca_es/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ca_es/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ca_es/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ca_es/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ca_es/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ca_es/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ca_es/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ca=function(a){return 1===a?"one":"other"},c.and=function(){return"i"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Accions"},c.catColour=function(){return"Color"},c.catLogic=function(){return"Lògic"},c.catLists=function(){return"Llistes"},c.catLoops=function(){return"Bucles"},c.catMath=function(){return"Matemàtiques"},c.catProcedures=function(){return"Funcions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"Vegeu el codi JavaScript generat."},c.continue=function(){return"Continuar"},c.dialogCancel=function(){return"Cancel·lar"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'Els blocs "Repetir" o el "Si" necessiten tenir altres blocs dins per a treballar. Assegureu-vos que el bloc interior encaixa bé dins del bloc que conté.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Enhorabona! Has completat l'etapa final."},c.finalStageTrophies=function(a){return"Enhorabona! Has completat l'etapa final i guanyat "+p(a,"numTrophies",0,"ca",{un:"trofeu",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"Els blocs del teu programa poden ser també representats en Javascript, el llenguatge de programació més extés al món:"},c.hashError=function(){return"Ho sentim, '%1' no correspon amb ningun programa guardat."},c.help=function(){return"Ajuda"},c.hintTitle=function(){return"Consell:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"Estàs utilitzant tots els tipus de blocs necessaris, però no de la manera correcta."},c.listVariable=function(){return"Llista"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Prova un o més dels blocs de sota per a resoldre aquest puzzle."},c.nextLevel=function(a){return"Enhorabona! Has acabat el Puzzle! "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Felicitats! Has acabat el Puzzle "+v(a,"puzzleNumber")+" i has guanyat "+p(a,"numTrophies",0,"ca",{one:"un trofeu",other:n(a,"numTrophies")+" trofeus"})+"."},c.nextStage=function(a){return"Enhorabona! Has acabat l'etapa "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Enhorabona! Has acabat l'etapa "+v(a,"stageNumber")+" i has guanyat "+p(a,"numTrophies",0,"ca",{one:"trofeu",other:n(a,"numTrophies")+" trofeus"})+"." },c.numBlocksNeeded=function(a){return"Enhorabona! Has acabat el Puzzle "+v(a,"puzzleNumber")+". (Tot i que podries haver utilitzat un "+p(a,"numBlocks",0,"ca",{one:"1 bloc",other:n(a,"numBlocks")+" blocs"})+".)"},c.numLinesOfCodeWritten=function(a){return"Has escrit "+p(a,"numLines",0,"ca",{one:"1 línia",other:n(a,"numLines")+" línies"})+" de codi!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" de "+v(a,"stage_total")},c.repeat=function(){return"repeteix"},c.resetProgram=function(){return"Reiniciar"},c.runProgram=function(){return"Executar Programa"},c.runTooltip=function(){return"Executa el programa definit per els blocs en l'àrea de treball."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Mostra el Codi"},c.showGeneratedCode=function(){return"Mostra el Codi"},c.subtitle=function(){return"un entorn de programació visual"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"Estàs utilitzant tots els tipus de blocs necessaris, però prova d'utilitzar més d'aquest altre tipus per a completar el puzzle."},c.tooManyBlocksMsg=function(){return"Aquest puzzle pot ser resolt amb blocs."},c.tooMuchWork=function(){return"Em fas fer molta feina! Podries intentar repetir menys vegades?"},c.toolboxHeader=function(){return"Blocs"},c.openWorkspace=function(){return"How It Works"},c.totalNumLinesOfCodeWritten=function(a){return"Total de tots els temps: "+p(a,"numLines",0,"ca",{one:"1 línia",other:n(a,"numLines")+" línies"})+" de codi."},c.tryAgain=function(){return"Torna a intentar-ho"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Torna al nivell anterior"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Escriu el teu codi JavaScript sota aquestes instruccions."},c.typeFuncs=function(){return"Funcions disponibles:%1"},c.typeHint=function(){return"Tingueu en compte que els parèntesis i els punts i coma són obligatoris."},c.workspaceHeader=function(){return"Monta els teus blocs aquí: "},c.infinity=function(){return"Infinit"},c.rotateText=function(){return"Gira el teu dispositiu."},c.orientationLock=function(){return"Desactiva el bloqueig d'orientació en els ajustos del teu dispositiu."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ca=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Accions"},c.catControl=function(){return"Bucles"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Lògic"},c.catMath=function(){return"Matemàtiques"},c.catProcedures=function(){return"Funcions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Continuar"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Felicitats! Has resolt el puzzle final."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Crea la teva pròpia història"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"un element aleatori"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"píxels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Felicitats! Has complert aquest puzzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"Aquest puzzle pot res resolt amb blocs de %1."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"un element aleatori"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"fer"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"estableix"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Sí"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/cs_cz/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/cs_cz/common":40,"../../locale/cs_cz/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cs_cz/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cs_cz/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/cs_cz/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/cs_cz/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/cs_cz/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cs_cz/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cs_cz/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cs_cz/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/cs_cz/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cs_cz/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cs_cz/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cs_cz/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.cs=function(a){return 1==a?"one":2==a||3==a||4==a?"few":"other"},c.and=function(){return"a"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Akce"},c.catColour=function(){return"Barva"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"Seznamy"},c.catLoops=function(){return"Smyčky"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funkce"},c.catText=function(){return"Text"},c.catVariables=function(){return"Proměnné"},c.codeTooltip=function(){return"Zobrazit vygenerovaný kód JavaScriptu."},c.continue=function(){return"Pokračovat"},c.dialogCancel=function(){return"Storno"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"S"},c.directionSouthLetter=function(){return"J"},c.directionEastLetter=function(){return"V"},c.directionWestLetter=function(){return"Z"},c.end=function(){return"konec"},c.emptyBlocksErrorMsg=function(){return'Bloky "Opakovat" nebo "Pokud" v sobě musí mít další bloky, aby fungovaly. Ujisti se, že vnitřní bloky jsou v pořádku vložené dovnitř vnějších bloků.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Máš další extra bloky, které nejsou připojené k bloku událostí."},c.finalStage=function(){return"Dobrá práce! Dokončil si poslední fázi."},c.finalStageTrophies=function(a){return"Dobrá práce! Dokončil si poslední fázi a vyhrál "+p(a,"numTrophies",0,"cs",{one:"trofej",other:n(a,"numTrophies")+" trofejí"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Dokonce nejlepší university učí programovat pomocí bloků (např. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Ale vnitřek bloků, které jsi sestavil, lze zobrazit také v JavaScriptu, světově nejrozšířenějším programovacím jazyce:"},c.hashError=function(){return"Promiň, ale '%1' neodpovídá žádnému uloženému programu."},c.help=function(){return"Nápověda"},c.hintTitle=function(){return"Tip:"},c.jump=function(){return"skoč"},c.levelIncompleteError=function(){return"Používáš všechny potřebné typy bloků, ale nesprávným způsobem."},c.listVariable=function(){return"seznam"},c.makeYourOwnFlappy=function(){return"Vytvoř Si Vlastní Hru Flappy"},c.missingBlocksErrorMsg=function(){return"Použijte jeden či více bloků k vyřešení těto hádanky."},c.nextLevel=function(a){return"Dobrá práce! Dokončil jsi Hádanku "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Dobrá práce! Dokončil jsi Hádanku "+v(a,"puzzleNumber")+" a vyhrál "+p(a,"numTrophies",0,"cs",{one:"trofej",other:n(a,"numTrophies")+" trofeje"})+"."},c.nextStage=function(a){return"Blahopřejeme! Dokončil jsi "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Blahopřejeme! Dokončil jsi "+v(a,"stageName")+" a vyhrál "+p(a,"numTrophies",0,"cs",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Dobrá práce! Dokončil jsi Hádanku "+v(a,"puzzleNumber")+". (Ale mohl jsi použít pouze "+p(a,"numBlocks",0,"cs",{one:"1 blok",other:n(a,"numBlocks")+" bloků"})+".)"},c.numLinesOfCodeWritten=function(a){return"Už jsi napsal "+p(a,"numLines",0,"cs",{one:"1 řádek",other:n(a,"numLines")+" řádků"})+" kódu!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Hádanka "+v(a,"puzzle_number")+" z "+v(a,"stage_total")},c.repeat=function(){return"opakuj"},c.resetProgram=function(){return"Obnovit"},c.runProgram=function(){return"Spustit"},c.runTooltip=function(){return"Spustí program definovaný bloky na pracovní ploše."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Zobrazit Kód"},c.showGeneratedCode=function(){return"Zobrazit kód"},c.subtitle=function(){return"vizuální programovací prostředí"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"Používáš všechny potřebné bloky, ale zkus použít více těchto bloků pro vyřešení této hádanky."},c.tooManyBlocksMsg=function(){return"Tato hádanka může být vyřešena pomocí bloků."},c.tooMuchWork=function(){return"Přinutil jsi mne udělat spoustu práce! Mohl bys zkusit opakovat méně krát?"},c.toolboxHeader=function(){return"Bloky"},c.openWorkspace=function(){return"Jak To Funguje"},c.totalNumLinesOfCodeWritten=function(a){return"Celkově: "+p(a,"numLines",0,"cs",{one:"1 řádek",other:n(a,"numLines")+" řádků"})+" kódu."},c.tryAgain=function(){return"Zkusit znovu"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Zpět na předchozí úroveň"},c.saveToGallery=function(){return"Uložit do tvé galerie"},c.savedToGallery=function(){return"Uložit do tvé galerie!"},c.typeCode=function(){return"Zadej svůj JavaScript kód pod tyto instrukce."},c.typeFuncs=function(){return"Dostupné funkce:%1"},c.typeHint=function(){return"Všimni si, že závorky a středníky jsou vyžadovány."},c.workspaceHeader=function(){return"Sestav si zde své bloky: "},c.infinity=function(){return"Nekonečno"},c.rotateText=function(){return"Otoč své zařízení."},c.orientationLock=function(){return"Vypni uzamčení rotace v nastavení zařízení."},c.wantToLearn=function(){return"Chceš se naučit programovat?"},c.watchVideo=function(){return"Shlédnout Video"},c.when=function(){return"když"},c.whenRun=function(){return"po spuštění"},c.tryHOC=function(){return"Vyzkoušej Hodinu Programování"},c.signup=function(){return"Zaregistruj se do úvodního kurzu"},c.hintHeader=function(){return"Zde je rada:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.cs=function(a){return 1==a?"one":2==a||3==a||4==a?"few":"other"},c.actor=function(){return"herec"},c.catActions=function(){return"akce"},c.catControl=function(){return"smyčky"},c.catEvents=function(){return"Události"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funkce"},c.catText=function(){return"Text"},c.catVariables=function(){return"Proměnné"},c.changeScoreTooltip=function(){return"Přidat nebo odebrat bod ze skóre."},c.changeScoreTooltipK1=function(){return"Přidat bod."},c.continue=function(){return"Pokračovat"},c.decrementPlayerScore=function(){return"Odebrat bod"},c.defaultSayText=function(){return"Piš zde"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Gratulujeme! Vyřešil jsi poslední puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"Bod"},c.makeProjectileDisappear=function(){return"Zmizet"},c.makeProjectileBounce=function(){return"Odrazit"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Nechat projektil zkolidovat a zmizet nebo odrazit."},c.makeYourOwn=function(){return"Vytvoř vlastní příběh"},c.moveDirectionDown=function(){return"dolů"},c.moveDirectionLeft=function(){return"vlevo"},c.moveDirectionRight=function(){return"vpravo"},c.moveDirectionUp=function(){return"nahoru"},c.moveDirectionRandom=function(){return"náhodné"},c.moveDistance25=function(){return"25 pixelů"},c.moveDistance50=function(){return"50 pixelů"},c.moveDistance100=function(){return"100 pixelů"},c.moveDistance200=function(){return"200 pixelů"},c.moveDistance400=function(){return"400 pixelů"},c.moveDistancePixels=function(){return"pixely"},c.moveDistanceRandom=function(){return"náhodné pixely"},c.moveDistanceTooltip=function(){return"Přemístit herce určenou vzdálenost ve specifickém směru."},c.moveSprite=function(){return"pohyb"},c.moveSpriteN=function(a){return"pohnout hercem "+v(a,"spriteIndex")},c.moveDown=function(){return"pohyb dolů"},c.moveDownTooltip=function(){return"pohnout hercem dolů."},c.moveLeft=function(){return"pohnout vlevo"},c.moveLeftTooltip=function(){return"pohnout hercem vlevo."},c.moveRight=function(){return"pohnout vpravo"},c.moveRightTooltip=function(){return"pohnout hercem vpravo."},c.moveUp=function(){return"pohnout nahoru"},c.moveUpTooltip=function(){return"pohnout hercem nahoru."},c.moveTooltip=function(){return"pohnout hercem."},c.nextLevel=function(){return"Gratulujeme! Dokončil jsi toto puzzle."},c.no=function(){return"Ne"},c.numBlocksNeeded=function(){return"Tato hádanka může být vyřešena s %1 blocky."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Přehraj vybraný zvuk."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"náhodně"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"dělej"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Body: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"nastavit náhodné pozadí"},c.setBackgroundBlack=function(){return"nastavit černé pozadí"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Nastavit obrázek pozadí"},c.setScoreText=function(){return"nastavit body"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"nastav"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Ano"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1]; if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/cy_gb/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/cy_gb/common":40,"../../locale/cy_gb/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cy_gb/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cy_gb/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/cy_gb/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/cy_gb/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/cy_gb/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cy_gb/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cy_gb/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cy_gb/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/cy_gb/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cy_gb/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/cy_gb/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/cy_gb/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.cy=function(a){return 0===a?"zero":1==a?"one":2==a?"two":3==a?"few":6==a?"many":"other"},c.and=function(){return"and"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Actions"},c.catColour=function(){return"Colour"},c.catLogic=function(){return"Logic"},c.catLists=function(){return"Lists"},c.catLoops=function(){return"Loops"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"See generated JavaScript code."},c.continue=function(){return"Continue"},c.dialogCancel=function(){return"Cancel"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Congratulations! You have completed the final stage."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"cy",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"The blocks for your program can also be represented in JavaScript, the world's most widely adopted programming language:"},c.hashError=function(){return"Sorry, '%1' doesn't correspond with any saved program."},c.help=function(){return"Help"},c.hintTitle=function(){return"Hint:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"list"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"cy",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+" and won "+p(a,"numTrophies",0,"cy",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"cy",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"cy",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")},c.repeat=function(){return"ailadrodd"},c.resetProgram=function(){return"Reset"},c.runProgram=function(){return"Run Program"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Show Code"},c.showGeneratedCode=function(){return"Show code"},c.subtitle=function(){return"a visual programming environment"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"Blocks"},c.openWorkspace=function(){return"How It Works"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"cy",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Try again"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Back to previous level"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Type your JavaScript code below these instructions."},c.typeFuncs=function(){return"Available functions:%1"},c.typeHint=function(){return"Note that the parentheses and semicolons are required."},c.workspaceHeader=function(){return"Assemble your blocks here: "},c.infinity=function(){return"Infinity"},c.rotateText=function(){return"Rotate your device."},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.cy=function(a){return 0===a?"zero":1==a?"one":2==a?"two":3==a?"few":6==a?"many":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Actions"},c.catControl=function(){return"Loops"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logic"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Continue"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Congratulations! You have solved the final puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"ar hap"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Congratulations! You have completed this puzzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"ar hap"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"do"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"gosod"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Yes"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k) }-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/da_dk/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/da_dk/common":40,"../../locale/da_dk/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/da_dk/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/da_dk/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/da_dk/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/da_dk/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/da_dk/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/da_dk/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/da_dk/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/da_dk/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/da_dk/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/da_dk/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/da_dk/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/da_dk/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.da=function(a){return 1===a?"one":"other"},c.and=function(){return"og"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Handlinger"},c.catColour=function(){return"Farver"},c.catLogic=function(){return"Logik"},c.catLists=function(){return"Lister"},c.catLoops=function(){return"Løkker"},c.catMath=function(){return"Matematik"},c.catProcedures=function(){return"Funktioner"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variabler"},c.codeTooltip=function(){return"Se genererede JavaScript-kode."},c.continue=function(){return"Fortsæt"},c.dialogCancel=function(){return"Annuller"},c.dialogOK=function(){return"Ok"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"Ø"},c.directionWestLetter=function(){return"V"},c.end=function(){return"slut"},c.emptyBlocksErrorMsg=function(){return'"Gentag" eller "Hvis" blokkene skal have andre blokke inden i for at virke. Kontroller, at den indre blok passer ordentligt inde i blokken.'},c.emptyFunctionBlocksErrorMsg=function(){return"Funktionen blok skal have andre blokke inde i det for at virke."},c.extraTopBlocks=function(){return"Du har ekstra blokke, der ikke er knyttet til en hændelsesblok."},c.finalStage=function(){return"Tillykke! Du har fuldført det sidste trin."},c.finalStageTrophies=function(a){return"Tillykke! Du har afsluttet det sidste trin og vundet "+p(a,"numTrophies",0,"da",{one:"et trofæ",other:n(a,"numTrophies")+" trofæer"})+"."},c.finish=function(){return"Færdig"},c.generatedCodeInfo=function(a){return"Selv top-universiteter underviser i blok-baseret programmering (f.eks. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Men under kølerhjelmen, kan de blokke du har samlet også vises i JavaScript, verdens mest udbredte programmeringssprog:"},c.hashError=function(){return"Beklager, '%1' svarer ikke til noget gemt program."},c.help=function(){return"Hjælp"},c.hintTitle=function(){return"Tip:"},c.jump=function(){return"hop"},c.levelIncompleteError=function(){return"Du bruger alle de nødvendige typer af blokke, men ikke på den rigtige måde."},c.listVariable=function(){return"liste"},c.makeYourOwnFlappy=function(){return"Lav dit eget Flappy spil"},c.missingBlocksErrorMsg=function(){return"Prøv en eller flere af blokkene nedenfor til at løse dette puslespil."},c.nextLevel=function(a){return"Tillykke! Du fuldførte puslespillet "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Tillykke! Du fuldførte puslespillet "+v(a,"puzzleNumber")+" og vandt "+p(a,"numTrophies",0,"da",{one:"et trofæ",other:n(a,"numTrophies")+" trofæer"})+"."},c.nextStage=function(a){return"Tillykke! Du gennemførte "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Tillykke! Du gennemførte "+v(a,"stageName")+" og vandt "+p(a,"numTrophies",0,"da",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Tillykke! Du fuldførte puslespillet "+v(a,"puzzleNumber")+". (Men du kunne have brugt kun "+p(a,"numBlocks",0,"da",{one:"1 blok",other:n(a,"numBlocks")+" blokke"})+".)"},c.numLinesOfCodeWritten=function(a){return"Du har lige skrevet "+p(a,"numLines",0,"da",{one:"1 linje",other:n(a,"numLines")+" linjer"})+" kode!"},c.play=function(){return"afspil"},c.puzzleTitle=function(a){return"Puslespil "+v(a,"puzzle_number")+" af "+v(a,"stage_total")},c.repeat=function(){return"gentag"},c.resetProgram=function(){return"Nulstil"},c.runProgram=function(){return"Kør"},c.runTooltip=function(){return"Kør programmet defineret af blokkene i arbejdsområdet."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Vis kode"},c.showGeneratedCode=function(){return"Vis kode"},c.subtitle=function(){return"et visuelt programmerings miljø"},c.textVariable=function(){return"tekst"},c.tooFewBlocksMsg=function(){return"Du bruger alle de nødvendige typer af blokke, men prøv at bruge flere af disse typer blokke til at fuldføre dette puslespil."},c.tooManyBlocksMsg=function(){return"Dette puslespil kan løses med blokke."},c.tooMuchWork=function(){return"Du fik mig til at gøre en masse arbejde! Kunne du prøve at gentage færre gange?"},c.toolboxHeader=function(){return"Blokke"},c.openWorkspace=function(){return"Sådan fungerer det"},c.totalNumLinesOfCodeWritten=function(a){return"I alt: "+p(a,"numLines",0,"da",{one:"1 linje",other:n(a,"numLines")+" linjer"})+" af kode."},c.tryAgain=function(){return"Prøv igen"},c.hintRequest=function(){return"Se hjælp"},c.backToPreviousLevel=function(){return"Tilbage til forrige niveau"},c.saveToGallery=function(){return"Gem til dit galleri"},c.savedToGallery=function(){return"Gem til dit galleri!"},c.typeCode=function(){return"Skriv din JavaScript kode under disse instruktioner."},c.typeFuncs=function(){return"Tilgængelige funktioner: %1"},c.typeHint=function(){return"Bemærk, at parenteser og semikoloner er nødvendige."},c.workspaceHeader=function(){return"Saml dine blokke her: "},c.infinity=function(){return"Uendelig"},c.rotateText=function(){return"Drej din enhed."},c.orientationLock=function(){return"Slå orienterings-lås fra i Enhedsindstillinger."},c.wantToLearn=function(){return"Vil du lære at kode?"},c.watchVideo=function(){return"Se denne video"},c.when=function(){return"når"},c.whenRun=function(){return"Når programmet kører"},c.tryHOC=function(){return"Prøv en time af kodeing"},c.signup=function(){return"Tilmeld til Introduktion kursus"},c.hintHeader=function(){return"Her er et tip:"},c.genericFeedback=function(){return"Se hvordan du endte, og prøve at rette dit program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.da=function(a){return 1===a?"one":"other"},c.actor=function(){return"skuespiller"},c.catActions=function(){return"Handlinger"},c.catControl=function(){return"Løkker"},c.catEvents=function(){return"Hændelser"},c.catLogic=function(){return"Logik"},c.catMath=function(){return"Matematik"},c.catProcedures=function(){return"Funktioner"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variabler"},c.changeScoreTooltip=function(){return"Tilføj eller fjern et point til scoren."},c.changeScoreTooltipK1=function(){return"Tilføj et point til scoren."},c.continue=function(){return"Fortsæt"},c.decrementPlayerScore=function(){return"fjern point"},c.defaultSayText=function(){return"Skriv her"},c.emotion=function(){return"humør"},c.finalLevel=function(){return"Tillykke! Du har løst den sidste opgave."},c.hello=function(){return"hej"},c.helloWorld=function(){return"Hej verden!"},c.incrementPlayerScore=function(){return"spiller point"},c.makeProjectileDisappear=function(){return"forsvind"},c.makeProjectileBounce=function(){return"hop"},c.makeProjectileBlueFireball=function(){return"lav blå ildkugle"},c.makeProjectilePurpleFireball=function(){return"lav lilla ildkugle"},c.makeProjectileRedFireball=function(){return"lav røde ildkugle"},c.makeProjectileYellowHearts=function(){return"lav gule hjerter"},c.makeProjectilePurpleHearts=function(){return"lav lilla hjerter"},c.makeProjectileRedHearts=function(){return"lav røde hjerter"},c.makeProjectileTooltip=function(){return"Lad kuglen, der netop ramte, forsvinde eller hoppe."},c.makeYourOwn=function(){return"Lav din egen historie"},c.moveDirectionDown=function(){return"ned"},c.moveDirectionLeft=function(){return"venstre"},c.moveDirectionRight=function(){return"højre"},c.moveDirectionUp=function(){return"op"},c.moveDirectionRandom=function(){return"tilfældig"},c.moveDistance25=function(){return"25 pixel"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"tilfældige pixels"},c.moveDistanceTooltip=function(){return"Flyt en spiller en bestemt afstand i den angivne retning."},c.moveSprite=function(){return"flyt"},c.moveSpriteN=function(a){return"flyt spiller "+v(a,"spriteIndex")},c.moveDown=function(){return"Flyt ned"},c.moveDownTooltip=function(){return"Flyt en spiller ned."},c.moveLeft=function(){return"Flyt til venstre"},c.moveLeftTooltip=function(){return"Flyt en spiller til venstre."},c.moveRight=function(){return"Flyt til højre"},c.moveRightTooltip=function(){return"Flyt spilleren til højre."},c.moveUp=function(){return"Flyt op"},c.moveUpTooltip=function(){return"Flyt spilleren op."},c.moveTooltip=function(){return"Flyt en spiller."},c.nextLevel=function(){return"Tillykke! Du har fuldført denne opgave."},c.no=function(){return"Nej"},c.numBlocksNeeded=function(){return"Denne opgave kan løses med %1 blokke."},c.ouchExclamation=function(){return"Av!"},c.playSoundCrunch=function(){return"afspil knaselyd"},c.playSoundGoal1=function(){return"afspil mål 1 lyd"},c.playSoundGoal2=function(){return"afspil mål 2 lyd"},c.playSoundHit=function(){return"afspil rammer lyd"},c.playSoundLosePoint=function(){return"afspil tab point lyd"},c.playSoundLosePoint2=function(){return"afspil tab point 2 lyd"},c.playSoundRetro=function(){return"afspil retro lyd"},c.playSoundRubber=function(){return"Afspil gummi lyd"},c.playSoundSlap=function(){return"afspil klaske lyd"},c.playSoundTooltip=function(){return"Afspil den valgte lyd."},c.playSoundWinPoint=function(){return"afspil vind point lyd"},c.playSoundWinPoint2=function(){return"afspil vind point 2 lyd"},c.playSoundWood=function(){return"afspil træ lyd"},c.positionOutTopLeft=function(){return"til øverst til venstre position"},c.positionOutTopRight=function(){return"til øverst højre position"},c.positionTopOutLeft=function(){return"til toppen uden for venstre position"},c.positionTopLeft=function(){return"til øverste venstre position"},c.positionTopCenter=function(){return"til top midterpositionen"},c.positionTopRight=function(){return"til den øverste højre position"},c.positionTopOutRight=function(){return"til toppen uden for højre position"},c.positionMiddleLeft=function(){return"i den midterste venstre position"},c.positionMiddleCenter=function(){return"den midterste center holdning"},c.positionMiddleRight=function(){return"i den midterste højre position"},c.positionBottomOutLeft=function(){return"til bunden udenfor venstre position"},c.positionBottomLeft=function(){return"til den nederste venstre position"},c.positionBottomCenter=function(){return"til bunden center position"},c.positionBottomRight=function(){return"til den nederste højre position"},c.positionBottomOutRight=function(){return"til bunden udenfor højre position"},c.positionOutBottomLeft=function(){return"til nederste venstre position"},c.positionOutBottomRight=function(){return"til nederste højre position"},c.positionRandom=function(){return"til tilfældig position"},c.projectileBlueFireball=function(){return"blå ildkugle"},c.projectilePurpleFireball=function(){return"lilla ildkugle"},c.projectileRedFireball=function(){return"rød ildkugle"},c.projectileYellowHearts=function(){return"gule hjerter"},c.projectilePurpleHearts=function(){return"lilla hjerter"},c.projectileRedHearts=function(){return"røde hjerter"},c.projectileRandom=function(){return"tilfældig"},c.reinfFeedbackMsg=function(){return'Du kan trykke på knappen "Prøv igen", for at gå tilbage til dit spil.'},c.repeatForever=function(){return"Gentag for evigt"},c.repeatDo=function(){return"udfør"},c.repeatForeverTooltip=function(){return"Udføre handlinger i denne blok gentagne gange mens programmet kører."},c.saySprite=function(){return"sig"},c.saySpriteN=function(a){return"spilleren "+v(a,"spriteIndex")+" siger"},c.saySpriteTooltip=function(){return"En taleboble med den tilhørende tekst fra det angivne karakter."},c.scoreText=function(a){return"Point: "+v(a,"playerScore")+": "+v(a,"opponentScore")},c.setBackground=function(){return"sæt baggrund"},c.setBackgroundRandom=function(){return"sæt tilfældig baggrund"},c.setBackgroundBlack=function(){return"sæt sort baggrund"},c.setBackgroundCave=function(){return"sæt hule baggrund"},c.setBackgroundCloudy=function(){return"sæt skyet baggrund"},c.setBackgroundHardcourt=function(){return"sæt tennis baggrund"},c.setBackgroundNight=function(){return"sæt nat baggrund"},c.setBackgroundUnderwater=function(){return"indstille undervands baggrund"},c.setBackgroundCity=function(){return"sæt by baggrund"},c.setBackgroundDesert=function(){return"sæt ørken baggrund"},c.setBackgroundRainbow=function(){return"sæt regnbue baggrund"},c.setBackgroundSoccer=function(){return"sæt fodbold baggrund"},c.setBackgroundSpace=function(){return"sæt rum baggrund"},c.setBackgroundTennis=function(){return"sæt tennis baggrund"},c.setBackgroundWinter=function(){return"sæt vinter baggrund"},c.setBackgroundTooltip=function(){return"Indstiller baggrundsbilledet"},c.setScoreText=function(){return"sæt score"},c.setScoreTextTooltip=function(){return"Angiver teksten, der skal vises i score området."},c.setSpriteEmotionAngry=function(){return"til en vred stemning"},c.setSpriteEmotionHappy=function(){return"til en glad stemning"},c.setSpriteEmotionNormal=function(){return"til en normal stemning"},c.setSpriteEmotionRandom=function(){return"til en tilfældig stemning"},c.setSpriteEmotionSad=function(){return"på en trist stemning"},c.setSpriteEmotionTooltip=function(){return"Sætter spiller stemning"},c.setSpriteAlien=function(){return"til alien billedet"},c.setSpriteBat=function(){return"til flagermus billedet"},c.setSpriteBird=function(){return"at fugle billedet"},c.setSpriteCat=function(){return"at katte billedet"},c.setSpriteCaveBoy=function(){return"til hule-drengs billedet"},c.setSpriteCaveGirl=function(){return"til grotte-pige billedet"},c.setSpriteDinosaur=function(){return"til dinosaur billedet"},c.setSpriteDog=function(){return"at en hund billedet"},c.setSpriteDragon=function(){return"til en dragon billedet"},c.setSpriteGhost=function(){return"til et spøgelse billedet"},c.setSpriteHidden=function(){return"til et skjult billede"},c.setSpriteHideK1=function(){return"Skjul"},c.setSpriteKnight=function(){return"at en ridder billedet"},c.setSpriteMonster=function(){return"til et monster billedet"},c.setSpriteNinja=function(){return"til en maskeret ninja billedet"},c.setSpriteOctopus=function(){return"til en blæksprutte billedet"},c.setSpritePenguin=function(){return"til pingvin billedet"},c.setSpritePirate=function(){return"til pirat billedet"},c.setSpritePrincess=function(){return"til prinsesse billedet"},c.setSpriteRandom=function(){return"til et tilfældigt billede"},c.setSpriteRobot=function(){return"at robot billedet"},c.setSpriteShowK1=function(){return"Vis"},c.setSpriteSpacebot=function(){return"til spacebot billedet"},c.setSpriteSoccerGirl=function(){return"til fodbold pige billedet"},c.setSpriteSoccerBoy=function(){return"til fodbold dreng billedet"},c.setSpriteSquirrel=function(){return"til egern billedet"},c.setSpriteTennisGirl=function(){return"til tennis pige billedet"},c.setSpriteTennisBoy=function(){return"til tennis dreng billedet"},c.setSpriteUnicorn=function(){return"til enhjørning billedet"},c.setSpriteWitch=function(){return"til heks billedet"},c.setSpriteWizard=function(){return"til troldmands billedet"},c.setSpritePositionTooltip=function(){return"Flytter en spiller til den angivne placering."},c.setSpriteK1Tooltip=function(){return"Viser eller skjuler de angivne spiller."},c.setSpriteTooltip=function(){return"Indstiller spiller billedet"},c.setSpriteSizeRandom=function(){return"til en tilfældig størrelse"},c.setSpriteSizeVerySmall=function(){return"til en meget lille størrelse"},c.setSpriteSizeSmall=function(){return"til en lille størrelse"},c.setSpriteSizeNormal=function(){return"til en normal størrelse"},c.setSpriteSizeLarge=function(){return"til en stor størrelse"},c.setSpriteSizeVeryLarge=function(){return"til en meget stor størrelse"},c.setSpriteSizeTooltip=function(){return"sætter størrelsen på en spiller"},c.setSpriteSpeedRandom=function(){return"til en tilfældig hastighed"},c.setSpriteSpeedVerySlow=function(){return"til en meget langsom hastighed"},c.setSpriteSpeedSlow=function(){return"til en langsom hastighed"},c.setSpriteSpeedNormal=function(){return"til en normal hastighed"},c.setSpriteSpeedFast=function(){return"til en hurtig hastighed"},c.setSpriteSpeedVeryFast=function(){return"til en meget hurtig hastighed"},c.setSpriteSpeedTooltip=function(){return"Indstiller hastigheden af spiller"},c.setSpriteZombie=function(){return"til zombie billedet"},c.shareStudioTwitter=function(){return"Tjek historien jeg lavede. Jeg skrev det selv med @codeorg"},c.shareGame=function(){return"Del din historie:"},c.showTitleScreen=function(){return"Vis titelskærm"},c.showTitleScreenTitle=function(){return"titel"},c.showTitleScreenText=function(){return"tekst"},c.showTSDefTitle=function(){return"skriv titel her"},c.showTSDefText=function(){return"Skriv tekst her"},c.showTitleScreenTooltip=function(){return"Vis en titel skærm med tilhørende titel og tekst."},c.setSprite=function(){return"sæt"},c.setSpriteN=function(a){return"sæt spiller "+v(a,"spriteIndex")},c.soundCrunch=function(){return"kravle"},c.soundGoal1=function(){return"mål 1"},c.soundGoal2=function(){return"mål 2"},c.soundHit=function(){return"hjælp"},c.soundLosePoint=function(){return"miste point"},c.soundLosePoint2=function(){return"miste point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"gummi"},c.soundSlap=function(){return"lussing"},c.soundWinPoint=function(){return"vinde point"},c.soundWinPoint2=function(){return"vinde punkt 2"},c.soundWood=function(){return"træ"},c.speed=function(){return"hastighed"},c.stopSprite=function(){return"Stop"},c.stopSpriteN=function(a){return"Stop spiller "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stopper en spiller bevægelse."},c.throwSprite=function(){return"kaste"},c.throwSpriteN=function(a){return"spiller "+v(a,"spriteIndex")+" kast"},c.throwTooltip=function(){return"Kaster et projektil fra den angivne spiller."},c.vanish=function(){return"forsvinde"},c.vanishActorN=function(a){return"spiller forsvinder "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Spilleren forsvinder."},c.waitFor=function(){return"vente på"},c.waitSeconds=function(){return"sekunder"},c.waitForClick=function(){return"vente på Klik"},c.waitForRandom=function(){return"vente på tilfældige"},c.waitForHalfSecond=function(){return"vente på et halvt sekund"},c.waitFor1Second=function(){return"vente på 1 sekund"},c.waitFor2Seconds=function(){return"vent 2 sekunder"},c.waitFor5Seconds=function(){return"vent 5 sekunder"},c.waitFor10Seconds=function(){return"vent 10 sekunder"},c.waitParamsTooltip=function(){return"Venter på et angivet antal sekunder eller brug nul vente indtil et klik opstår."},c.waitTooltip=function(){return"Venter på en angivet tid, eller indtil et klik opstår."},c.whenArrowDown=function(){return"pil ned"},c.whenArrowLeft=function(){return"venstre pil"},c.whenArrowRight=function(){return"højre pil"},c.whenArrowUp=function(){return"pil op"},c.whenArrowTooltip=function(){return"Udføre handlingen nedenfor når den angivne pile-tast holdes nede."},c.whenDown=function(){return"Når pil ned"},c.whenDownTooltip=function(){return"Udfører handlingen herunder når der trykkes pil ned."},c.whenGameStarts=function(){return"Når historien starter"},c.whenGameStartsTooltip=function(){return"Udfører handlingen nedenfor når historien begynder."},c.whenLeft=function(){return"Når venstre pil"},c.whenLeftTooltip=function(){return"Udfører handlingen herunder når der trykkes venstre pil."},c.whenRight=function(){return"Når højre pil"},c.whenRightTooltip=function(){return"Udfører handlingen herunder når der trykkes højre pil."},c.whenSpriteClicked=function(){return"Når der klikkes på spilleren"},c.whenSpriteClickedN=function(a){return"Når der klikkes på spilleren "+v(a,"spriteIndex")},c.whenSpriteClickedTooltip=function(){return"Udføre handlingen herunder når en der klikkes på spilleren."},c.whenSpriteCollidedN=function(a){return"når spilleren "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Udføre handlingen nedenfor når spilleren rører en anden spiller."},c.whenSpriteCollidedWith=function(){return"rører"},c.whenSpriteCollidedWithN=function(a){return"rører spilleren "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"rører blå ildkugle"},c.whenSpriteCollidedWithPurpleFireball=function(){return"rører lilla ildkugle"},c.whenSpriteCollidedWithRedFireball=function(){return"rører røde ildkugle"},c.whenSpriteCollidedWithYellowHearts=function(){return"rører gule hjerter"},c.whenSpriteCollidedWithPurpleHearts=function(){return"rører lilla hjerter"},c.whenSpriteCollidedWithRedHearts=function(){return"rører røde hjerter"},c.whenSpriteCollidedWithBottomEdge=function(){return"rører nederste kant"},c.whenSpriteCollidedWithLeftEdge=function(){return"rører venstre kant"},c.whenSpriteCollidedWithRightEdge=function(){return"rører højre kant"},c.whenSpriteCollidedWithTopEdge=function(){return"rører øverste kant"},c.whenUp=function(){return"Når pil op"},c.whenUpTooltip=function(){return"Udfører handlingen herunder når der trykkes pil op."},c.yes=function(){return"Ja"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/de_de/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/de_de/common":40,"../../locale/de_de/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/de_de/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/de_de/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/de_de/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/de_de/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/de_de/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/de_de/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/de_de/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/de_de/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/de_de/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/de_de/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/de_de/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/de_de/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.de=function(a){return 1===a?"one":"other"},c.and=function(){return"und"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Aktionen"},c.catColour=function(){return"Farbe"},c.catLogic=function(){return"Logik"},c.catLists=function(){return"Listen"},c.catLoops=function(){return"Schleifen"},c.catMath=function(){return"Mathematik"},c.catProcedures=function(){return"Funktionen"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variablen"},c.codeTooltip=function(){return"Erzeugten JavaScript-Code ansehen."},c.continue=function(){return"Weiter"},c.dialogCancel=function(){return"Abbrechen"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"O"},c.directionWestLetter=function(){return"W"},c.end=function(){return"Ende"},c.emptyBlocksErrorMsg=function(){return'Die "Wiederholen"- und die "Wenn"-Bausteine benötigten im Inneren andere Bausteine um zu funktionieren. Stelle sicher, dass der innere Baustein in den umschließenden Baustein passt.'},c.emptyFunctionBlocksErrorMsg=function(){return"Der Funktionsblock muss andere Blöcke beinhalten um zu funktionieren."},c.extraTopBlocks=function(){return"Es gibt zusätzliche Bausteine, die keinem Ereignis-Baustein zugeordnet sind."},c.finalStage=function(){return"Glückwunsch! Du hast das letzte Level erfolgreich abgeschlossen."},c.finalStageTrophies=function(a){return"Glückwunsch! Du hast das letzte Level erfolgreich abgeschlossen und "+p(a,"numTrophies",0,"de",{one:"eine Trophäe",other:n(a,"numTrophies")+" Trophäen"})+" gewonnen."},c.finish=function(){return"Abschließen"},c.generatedCodeInfo=function(a){return"Sogar Top-Universitäten unterrichten Baustein-basiertes programmieren (z.B."+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Die Bausteine, welche sie zusammengestellt haben, können auch in JavaScript dargestellt werden, die meistgenutzte Programmiersprache der Welt:"},c.hashError=function(){return"Ups, '%1' stimmt mit keinem gespeicherten Programm überein."},c.help=function(){return"Hilfe"},c.hintTitle=function(){return"Hinweis:"},c.jump=function(){return"springen"},c.levelIncompleteError=function(){return"Du benutzt alle nötigen Bausteine, aber noch nicht auf die richtige Weise."},c.listVariable=function(){return"Liste"},c.makeYourOwnFlappy=function(){return'Erstelle Dein Eigenes "Flappy Bird" Spiel'},c.missingBlocksErrorMsg=function(){return"Versuche einen, oder mehrere Bausteine von unten zu verwenden, um dieses Puzzle zu lösen."},c.nextLevel=function(a){return"Glückwunsch! Du hast Puzzle "+v(a,"puzzleNumber")+" erfolgreich abgeschlossen."},c.nextLevelTrophies=function(a){return"Glückwunsch! Du hast Puzzle "+v(a,"puzzleNumber")+" erfolgreich abgeschlossen und "+p(a,"numTrophies",0,"de",{one:"eine Trophäe",other:n(a,"numTrophies")+" Trophäen"})+" gewonnen." },c.nextStage=function(a){return"Herzlichen Glückwunsch! Du hast "+v(a,"stageName")+" erfolgreich abgeschlossen."},c.nextStageTrophies=function(a){return"Herzlichen Glückwunsch! Du hast Teil "+v(a,"stageName")+" erfolgreich abgeschlossen und "+p(a,"numTrophies",0,"de",{one:"eine Trophäe",other:n(a,"numTrophies")+" Trophäen"})+" gewonnen."},c.numBlocksNeeded=function(a){return"Glückwunsch! Du hast Puzzle "+v(a,"puzzleNumber")+" fertig gestellt. (Du hättest jedoch nur "+p(a,"numBlocks",0,"de",{one:"1 Baustein",other:n(a,"numBlocks")+" Bausteine"})+" gebraucht.)"},c.numLinesOfCodeWritten=function(a){return"Du hast soeben "+p(a,"numLines",0,"de",{one:"eine Zeile",other:n(a,"numLines")+" Zeilen"})+" Code geschrieben!"},c.play=function(){return"spielen"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" von "+v(a,"stage_total")},c.repeat=function(){return"wiederholen"},c.resetProgram=function(){return"Zurücksetzen"},c.runProgram=function(){return"Ausführen"},c.runTooltip=function(){return"Starte das Programm, das durch die Bausteine in deinem Arbeitsbereich festgelegt ist."},c.score=function(){return"Punktestand"},c.showCodeHeader=function(){return"Programm anzeigen"},c.showGeneratedCode=function(){return"Programm anzeigen"},c.subtitle=function(){return"eine visuelle Programmierumgebung"},c.textVariable=function(){return"Text"},c.tooFewBlocksMsg=function(){return"Du verwendest alle nötigen Baustein-Typen. Versuche jedoch mehr von diesen Baustein-Typen zu verwenden, um dieses Puzzle fertigzustellen."},c.tooManyBlocksMsg=function(){return"Dieses Puzzle kann mit Bausteinen gelöst werden."},c.tooMuchWork=function(){return"Du lässt mich ganz schön arbeiten! Könntest du versuchen es seltener zu wiederholen?"},c.toolboxHeader=function(){return"Bausteine"},c.openWorkspace=function(){return"Wie es funktioniert"},c.totalNumLinesOfCodeWritten=function(a){return"Insgesamt: "+p(a,"numLines",0,"de",{one:"Eine Zeile",other:n(a,"numLines")+" Zeilen"})+" Code."},c.tryAgain=function(){return"Versuche es noch einmal"},c.hintRequest=function(){return"Hinweis anzeigen"},c.backToPreviousLevel=function(){return"Zurück zum vorherigen Level"},c.saveToGallery=function(){return"In deiner Galerie abspeichern"},c.savedToGallery=function(){return"In deiner Gallerie gespeichert!"},c.typeCode=function(){return"Schreibe deinen JavaScript-Code unter diese Anweisungen."},c.typeFuncs=function(){return"Verfügbare Funktionen:%1"},c.typeHint=function(){return"Beachte, dass die runden Klammern und Semikola erforderlich sind."},c.workspaceHeader=function(){return"Setze die Bausteine hier zusammen: "},c.infinity=function(){return"Unendlichkeit"},c.rotateText=function(){return"Drehen Sie ihr Gerät."},c.orientationLock=function(){return"Deaktivieren Sie die Dreh-Möglichkeit des Bildschirms in den Geräteeinstellungen."},c.wantToLearn=function(){return"Möchtest du programmieren lernen?"},c.watchVideo=function(){return"Video anschauen"},c.when=function(){return"wenn"},c.whenRun=function(){return"Programmstart"},c.tryHOC=function(){return'Probiere "The Hour of Code" aus'},c.signup=function(){return"Für den Einführungskurs anmelden"},c.hintHeader=function(){return"Hier ist ein Tipp:"},c.genericFeedback=function(){return"Schau dir an, was du gemacht hast und versuche Fehler im Programm zu beheben."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.de=function(a){return 1===a?"one":"other"},c.actor=function(){return"Element"},c.catActions=function(){return"Aktionen"},c.catControl=function(){return"Schleifen"},c.catEvents=function(){return"Ereignisse"},c.catLogic=function(){return"Logik"},c.catMath=function(){return"Mathematik"},c.catProcedures=function(){return"Funktionen"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variablen"},c.changeScoreTooltip=function(){return"Addiere oder subtrahiere einen Punkt von der Punktzahl."},c.changeScoreTooltipK1=function(){return"Addiere einen Punkt zu der Punktzahl."},c.continue=function(){return"Fortfahren"},c.decrementPlayerScore=function(){return"Punkt abziehen"},c.defaultSayText=function(){return"Hier eingeben"},c.emotion=function(){return"Stimmung"},c.finalLevel=function(){return"Glückwunsch! Sie haben das letzte Puzzle gelöst."},c.hello=function(){return"Hallo"},c.helloWorld=function(){return"Hallo Welt!"},c.incrementPlayerScore=function(){return"Punkt erzielen"},c.makeProjectileDisappear=function(){return"verschwinden"},c.makeProjectileBounce=function(){return"abprallen"},c.makeProjectileBlueFireball=function(){return"Mache blauen Feuerball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Lasse das kollidierende Projektil verschwinden oder apprallen."},c.makeYourOwn=function(){return"Mache deine eigene Geschichte"},c.moveDirectionDown=function(){return"runter"},c.moveDirectionLeft=function(){return"links"},c.moveDirectionRight=function(){return"rechts"},c.moveDirectionUp=function(){return"hoch"},c.moveDirectionRandom=function(){return"zufällig"},c.moveDistance25=function(){return"25 Pixel"},c.moveDistance50=function(){return"50 Pixel"},c.moveDistance100=function(){return"100 Pixel"},c.moveDistance200=function(){return"200 Pixel"},c.moveDistance400=function(){return"400 Pixel"},c.moveDistancePixels=function(){return"Pixel"},c.moveDistanceRandom=function(){return"Zufällige Pixel"},c.moveDistanceTooltip=function(){return"Verschiebe einen Darsteller um eine bestimmte Entfernung in eine bestimmte Richtung."},c.moveSprite=function(){return"bewegen"},c.moveSpriteN=function(a){return"Bewege Element "+v(a,"spriteIndex")},c.moveDown=function(){return"nach unten bewegen"},c.moveDownTooltip=function(){return"Bewege ein Element nach unten."},c.moveLeft=function(){return"nach links bewegen"},c.moveLeftTooltip=function(){return"Bewege ein Element nach links."},c.moveRight=function(){return"nach rechts bewegen"},c.moveRightTooltip=function(){return"Bewege ein Element nach rechts."},c.moveUp=function(){return"nach oben bewegen"},c.moveUpTooltip=function(){return"Bewege ein Element nach oben."},c.moveTooltip=function(){return"Bewege ein Element."},c.nextLevel=function(){return"Herzlichen Glückwunsch! Du hast dieses Puzzle abgeschlossen."},c.no=function(){return"Nein"},c.numBlocksNeeded=function(){return"Dieses Puzzle kann mit %1 Bausteinen gelöst werden."},c.ouchExclamation=function(){return"Autsch!"},c.playSoundCrunch=function(){return"Knirschgeräusch abspielen"},c.playSoundGoal1=function(){return"Ton für Tor 1 abspielen"},c.playSoundGoal2=function(){return"Ton für Tor 2 abspielen"},c.playSoundHit=function(){return"Trefferton abspielen"},c.playSoundLosePoint=function(){return"Ton für Punktverlust abspielen"},c.playSoundLosePoint2=function(){return"Alternativen Ton für Punktverlust abspielen"},c.playSoundRetro=function(){return"Retroton abspielen"},c.playSoundRubber=function(){return"Ton für Gummi abspielen"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Den ausgewählten Ton abspielen."},c.playSoundWinPoint=function(){return"Gewinnton abspielen"},c.playSoundWinPoint2=function(){return"Alternativen Gewinnton abspielen"},c.playSoundWood=function(){return"Holzton abspielen"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"an die obere linke Position"},c.positionTopCenter=function(){return"an die obere mittlere Position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"Zu zufälliger Position"},c.projectileBlueFireball=function(){return"Blauer Feuerball"},c.projectilePurpleFireball=function(){return"Lila Feuerball"},c.projectileRedFireball=function(){return"Roter Feuerball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"zufällig"},c.reinfFeedbackMsg=function(){return'Du kannst den "Versuche erneut"-Button drücken, um weiterzuspielen.'},c.repeatForever=function(){return"ewig wiederholen"},c.repeatDo=function(){return"mache"},c.repeatForeverTooltip=function(){return"Führt die Aktionen innerhalb des Bausteins wiederholend aus."},c.saySprite=function(){return"sagen"},c.saySpriteN=function(a){return"Element "+v(a,"spriteIndex")+" sage"},c.saySpriteTooltip=function(){return"Blendet eine Sprechblase, mit dem eingegebenen Text, ein."},c.scoreText=function(a){return"Punktestand: "+v(a,"playerScore")},c.setBackground=function(){return"Hintergrund setzen"},c.setBackgroundRandom=function(){return"zufälligen Hintergrund setzen"},c.setBackgroundBlack=function(){return"schwarzen Hintergrund setzen"},c.setBackgroundCave=function(){return"Höhle als Hintergrund setzen"},c.setBackgroundCloudy=function(){return"Wolkigen Hintergrund setzen"},c.setBackgroundHardcourt=function(){return"Tennisplatz als Hintergrund setzen"},c.setBackgroundNight=function(){return"Nacht als Hintergrund setzen"},c.setBackgroundUnderwater=function(){return"Unterwasser als Hintergrund setzen"},c.setBackgroundCity=function(){return"Setze Hintergrund Stadt"},c.setBackgroundDesert=function(){return"Setze Hintergrund Wüste"},c.setBackgroundRainbow=function(){return"Setze Hintergrund Regenbogen"},c.setBackgroundSoccer=function(){return"Setze Hintegrund Fussball"},c.setBackgroundSpace=function(){return"Setze Hintergrund Weltall"},c.setBackgroundTennis=function(){return"Setze Hintergrund Tennis"},c.setBackgroundWinter=function(){return"Setze Hintergrund Winter"},c.setBackgroundTooltip=function(){return"Hintergrundbild setzen"},c.setScoreText=function(){return"Punktestand setzen"},c.setScoreTextTooltip=function(){return"Setzt den Text, welcher im Punktestand-Bereich angezeigt werden soll."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"zeige Fledermaus-Bild"},c.setSpriteBird=function(){return"zeige Vogel-Bild"},c.setSpriteCat=function(){return"zeige Katzen-Bild"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"zeige Dinosaurier-Bild"},c.setSpriteDog=function(){return"zeige Hund-Bild"},c.setSpriteDragon=function(){return"zeige Drachen-Bild"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"verstecke Bild"},c.setSpriteHideK1=function(){return"ausblenden"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"zeige Kraken-Bild"},c.setSpritePenguin=function(){return"zeige Pinguin-Bild"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"zeige zufälliges Bild"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"einblenden"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"zeige Eichhörnchen-Bild"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"zeige Hexen-Bild"},c.setSpriteWizard=function(){return"zeige Zauberer-Bild"},c.setSpritePositionTooltip=function(){return"Bewegt das Element sofort an die angegebene Position."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"auf eine sehr kleine Größe"},c.setSpriteSizeSmall=function(){return"auf eine kleine Größe"},c.setSpriteSizeNormal=function(){return"auf eine normale Größe"},c.setSpriteSizeLarge=function(){return"auf eine große Größe"},c.setSpriteSizeVeryLarge=function(){return"auf eine sehr große Größe"},c.setSpriteSizeTooltip=function(){return"Setzt die Größe eines Elements"},c.setSpriteSpeedRandom=function(){return"auf zufällige Geschwindigkeit wechseln"},c.setSpriteSpeedVerySlow=function(){return"auf sehr langsame Geschwindigkeit wechseln"},c.setSpriteSpeedSlow=function(){return"auf langsame Geschwindigkeit wechseln"},c.setSpriteSpeedNormal=function(){return"auf normale Geschwindigkeit wechseln"},c.setSpriteSpeedFast=function(){return"auf schnelle Geschwindigkeit wechseln"},c.setSpriteSpeedVeryFast=function(){return"auf sehr schnelle Geschwindigkeit wechseln"},c.setSpriteSpeedTooltip=function(){return"Legt die Geschwindigkeit eines Elements fest"},c.setSpriteZombie=function(){return"zu einem Zombie Bild"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"Titel"},c.showTitleScreenText=function(){return"Text"},c.showTSDefTitle=function(){return"Titel hier eingeben"},c.showTSDefText=function(){return"Text hier eingeben"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"setze"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"Holzton"},c.speed=function(){return"Geschwindigkeit"},c.stopSprite=function(){return"Stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"warten auf"},c.waitSeconds=function(){return"Sekunden"},c.waitForClick=function(){return"Auf Klick warten"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"Eine halbe Sekunde warten"},c.waitFor1Second=function(){return"1 Sekunde warten"},c.waitFor2Seconds=function(){return"2 Sekunden warten"},c.waitFor5Seconds=function(){return"5 Sekunden warten"},c.waitFor10Seconds=function(){return"10 Sekunden warten"},c.waitParamsTooltip=function(){return"Wartet eine bestimmte Anzahl an Sekunden oder auf einen Klick bei Angabe von 0."},c.waitTooltip=function(){return"Wartet eine bestimmte Anzahl an Sekunden oder auf einen Klick."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"Wenn Pfeil-nach-unten"},c.whenDownTooltip=function(){return"Führe die nachfolgenden Aktionen aus, wenn die Pfeil-runter-Taste gedrückt wird."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Führe die nachfolgenden Aktionen aus, wenn die Geschichte beginnt."},c.whenLeft=function(){return"Wenn Pfeil-nach-links"},c.whenLeftTooltip=function(){return"Führe die nachfolgenden Aktionen aus, wenn die Pfeil-links-Taste gedrückt wird."},c.whenRight=function(){return"Wenn Pfeil-nach-rechts"},c.whenRightTooltip=function(){return"Führe die nachfolgenden Aktionen aus, wenn die Pfeil-rechts-Taste gedrückt wird."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Führe die nachfolgenden Aktionen aus, wenn ein Darsteller angeklickt wird."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"berührt"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"Berührt unteren Rand"},c.whenSpriteCollidedWithLeftEdge=function(){return"Berührt linken Rand"},c.whenSpriteCollidedWithRightEdge=function(){return"berührt rechten Rand"},c.whenSpriteCollidedWithTopEdge=function(){return"berührt oberen Rand"},c.whenUp=function(){return"wenn Pfeil-nach-oben"},c.whenUpTooltip=function(){return"Führe die nachfolgenden Aktionen aus, wenn die Pfeil-nach-oben-Taste gedrückt wird."},c.yes=function(){return"Ja"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/el_gr/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/el_gr/common":40,"../../locale/el_gr/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/el_gr/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/el_gr/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/el_gr/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/el_gr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/el_gr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/el_gr/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/el_gr/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/el_gr/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/el_gr/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/el_gr/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/el_gr/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/el_gr/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.el=function(a){return 1===a?"one":"other"},c.and=function(){return"και"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Ενέργειες"},c.catColour=function(){return"Χρώμα"},c.catLogic=function(){return"Λογικά"},c.catLists=function(){return"Λίστες"},c.catLoops=function(){return"Βρόχοι"},c.catMath=function(){return"Μαθηματικά"},c.catProcedures=function(){return"Συναρτήσεις"},c.catText=function(){return"Κείμενο"},c.catVariables=function(){return"Μεταβλητές"},c.codeTooltip=function(){return"Δείτε τον κώδικα JavaScript."},c.continue=function(){return"Συνέχεια"},c.dialogCancel=function(){return"Άκυρο"},c.dialogOK=function(){return"OΚ"},c.directionNorthLetter=function(){return"Β"},c.directionSouthLetter=function(){return"Ν"},c.directionEastLetter=function(){return"Α"},c.directionWestLetter=function(){return"Δ"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'Το μπλοκ του "Repeat" ή του "If" πρέπει να περιέχει άλλα μπλοκ για να δουλέψει. Σιγουρέψου ότι το εσωτερικό μπλοκ ταιριάζει μέσα στο εξωτερικό.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Συγχαρητήρια! τέλειωσες το τελικό στάδιο."},c.finalStageTrophies=function(a){return"Συγχαρητήρια! Τέλειωσες το τελευταίο στάδιο και κέρδισες "+p(a,"numTrophies",0,"el",{one:"τρόπαιο",other:n(a,"numTrophies")+" τράπαια"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"Τα πλακίδια από το πρόγραμμά σου μπορούν επίσης να αναπαρασταθούν στην Javascript, την πιο ευρέως διαδεδομένη γλώσσα προγραμματισμού παγκοσμίως:"},c.hashError=function(){return"Συγνώμη, το '%1' δεν αντιστοιχεί με αποθηκευμένο πρόγραμμα."},c.help=function(){return"Βοήθεια"},c.hintTitle=function(){return"Υπόδειξη:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"Χρησιμοποιείς όλα τα αναγκαία είδη μπλοκ, αλλά όχι με τον σωστό τρόπο."},c.listVariable=function(){return"λίστα"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Δοκίμασε ένα ή περισσότερα από τα παρακάτω μπλοκ για να λύσεις το παζλ."},c.nextLevel=function(a){return"Συγχαρητήρια! Τελείωσες το παζλ "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Συγχαρητήρια! Τελείωσες το παζλ "+v(a,"puzzleNumber")+" και κέρδισες "+p(a,"numTrophies",0,"el",{one:"τρόπαιο",other:n(a,"numTrophies")+" τρόπαια"})+"."},c.nextStage=function(a){return"Συγχαρητήρια! Ολοκλληρωσες το στάδιο "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Συγχαρητήρια! Τελείωσες το στάδιο "+v(a,"stageNumber")+" και κέρδισες "+p(a,"numTrophies",0,"el",{one:"τρόπαιο",other:n(a,"numTrophies")+" τρόπαια"})+"." },c.numBlocksNeeded=function(a){return"Συγχαρητήρια! Τελείωσες το πάζλ "+v(a,"puzzleNumber")+". (Όμως, θα μπορούσες να βάλεις μόνο "+p(a,"numBlocks",0,"el",{one:"1 μπλοκ",other:n(a,"numBlocks")+" μπλοκ"})+".)"},c.numLinesOfCodeWritten=function(a){return"Μόλις έγραψες "+p(a,"numLines",0,"el",{one:"1 γραμμή",other:n(a,"numLines")+" γραμμές"})+" κώδικα!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Παζλ "+v(a,"puzzle_number")+" από "+v(a,"stage_total")},c.repeat=function(){return"επανάλαβε"},c.resetProgram=function(){return"Επαναφορά"},c.runProgram=function(){return"Εκτέλεση Προγράμματος"},c.runTooltip=function(){return"Τρέξε το πρόγραμμα που ορίζεται από τα μπλοκ στο χώρο εργασίας."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Προβολή Κώδικα"},c.showGeneratedCode=function(){return"Προβολή κώδικα"},c.subtitle=function(){return"ένα οπτικό περιβάλλον προγραμματισμού"},c.textVariable=function(){return"κείμενο"},c.tooFewBlocksMsg=function(){return"Χρησιμοποιείς όλα τα αναγκαία είδη μπλοκ, αλλά δοκίμασε περισσότερα μπλοκ αυτών των ειδών για να ολοκληρώσεις το παζλ."},c.tooManyBlocksMsg=function(){return"Αυτό το παζλ μπορεί να λυθεί με μπλοκ."},c.tooMuchWork=function(){return"Με ανάγκασες να κάνω πολλή δουλειά! Μπορείς με λιγότερες επαναλήψεις;"},c.toolboxHeader=function(){return"Μπλοκ"},c.openWorkspace=function(){return"Πώς λειτουργεί"},c.totalNumLinesOfCodeWritten=function(a){return"Γενικό σύνολο: "+p(a,"numLines",0,"el",{one:"1 γραμμή",other:n(a,"numLines")+" γραμμές"})+" κώδικα."},c.tryAgain=function(){return"Δοκίμασε ξανά"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Πίσω στο προηγούμενο επίπεδο"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Γράψε το δικό σου κώδικα JavaScript κάτω από αυτές τις οδηγίες."},c.typeFuncs=function(){return"Διαθέσιμες συναρτήσεις: %1"},c.typeHint=function(){return"Σημείωσε ότι οι παρενθέσεις και ερωτηματικά είναι υποχρεωτικά."},c.workspaceHeader=function(){return"Συναρμολόγησε τα μπλοκ σου εδώ: "},c.infinity=function(){return"άπειρο"},c.rotateText=function(){return"Γυρίστε τη συσκευή σας."},c.orientationLock=function(){return"Απενεργοποιήστε το κλείδωμα περιστροφής στις ρυθμίσης της συσκευής."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.el=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Ενέργειες"},c.catControl=function(){return"Βρόχοι"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Λογικά"},c.catMath=function(){return"Μαθηματικά"},c.catProcedures=function(){return"Συναρτήσεις"},c.catText=function(){return"Κείμενο"},c.catVariables=function(){return"Μεταβλητές"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Συνέχεια"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Συγχαρητήρια! Έλυσες το τελευταίο Παζλ."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"τυχαίο"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"εικονοστοιχεία"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"Προχώρησε προς τα κάτω"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"Προχώρησε αριστερά"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"Προχώρησε δεξιά"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"προχώρησε προς τα επάνω"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Συγχαρητήρια! Έχεις ολοκληρώσει αυτό το παζλ."},c.no=function(){return"Όχι"},c.numBlocksNeeded=function(){return"Αυτό το παζλ μπορεί να λυθεί με %1 μπλοκ."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"τυχαίο"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"κάνε"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"κείμενο"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"ορίζω"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Ναι"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/en_ploc/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/en_ploc/common":40,"../../locale/en_ploc/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_ploc/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_ploc/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/en_ploc/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/en_ploc/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/en_ploc/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_ploc/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_ploc/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_ploc/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/en_ploc/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_ploc/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_ploc/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_ploc/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.en=function(a){return 1===a?"one":"other"},c.and=function(){return"!!-and-!!"},c.blocklyMessage=function(){return"!!-Blockly-!!"},c.catActions=function(){return"!!-Actions-!!"},c.catColour=function(){return"!!-Colour-!!"},c.catLogic=function(){return"!!-Logic-!!"},c.catLists=function(){return"!!-Lists-!!"},c.catLoops=function(){return"!!-Loops-!!"},c.catMath=function(){return"!!-Math-!!"},c.catProcedures=function(){return"!!-Functions-!!"},c.catText=function(){return"!!-Text-!!"},c.catVariables=function(){return"!!-Variables-!!"},c.codeTooltip=function(){return"!!-See generated JavaScript code.-!!"},c.continue=function(){return"!!-Continue-!!"},c.dialogCancel=function(){return"!!-Cancel-!!"},c.dialogOK=function(){return"!!-OK-!!"},c.directionNorthLetter=function(){return"!!-N-!!"},c.directionSouthLetter=function(){return"!!-S-!!"},c.directionEastLetter=function(){return"!!-E-!!"},c.directionWestLetter=function(){return"!!-W-!!"},c.end=function(){return"!!-end-!!"},c.emptyBlocksErrorMsg=function(){return'!!-The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.-!!'},c.emptyFunctionBlocksErrorMsg=function(){return"!!-The function block needs to have other blocks inside it to work.-!!"},c.extraTopBlocks=function(){return'!!-You have unattached blocks. Did you mean to attach these to the "when run" block?-!!'},c.finalStage=function(){return"!!-Congratulations! You have completed the final stage.-!!"},c.finalStageTrophies=function(a){return"!!-Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"en",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+".-!!"},c.finish=function(){return"!!-Finish-!!"},c.generatedCodeInfo=function(a){return"!!-Even top universities teach block-based coding (e.g., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). But under the hood, the blocks you have assembled can also be shown in JavaScript, the world's most widely used coding language:-!!"},c.hashError=function(){return"!!-Sorry, '%1' doesn't correspond with any saved program.-!!"},c.help=function(){return"!!-Help-!!"},c.hintTitle=function(){return"!!-Hint:-!!"},c.jump=function(){return"!!-jump-!!"},c.levelIncompleteError=function(){return"!!-You are using all of the necessary types of blocks but not in the right way.-!!"},c.listVariable=function(){return"!!-list-!!"},c.makeYourOwnFlappy=function(){return"!!-Make Your Own Flappy Game-!!"},c.missingBlocksErrorMsg=function(){return"!!-Try one or more of the blocks below to solve this puzzle.-!!"},c.nextLevel=function(a){return"!!-Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+".-!!"},c.nextLevelTrophies=function(a){return"!!-Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"en",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+".-!!" },c.nextStage=function(a){return"!!-Congratulations! You completed "+v(a,"stageName")+".-!!"},c.nextStageTrophies=function(a){return"!!-Congratulations! You completed "+v(a,"stageName")+" and won "+p(a,"numTrophies",0,"en",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+".-!!"},c.numBlocksNeeded=function(a){return"!!-Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"en",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)-!!"},c.numLinesOfCodeWritten=function(a){return"!!-You just wrote "+p(a,"numLines",0,"en",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!-!!"},c.play=function(){return"!!-play-!!"},c.puzzleTitle=function(a){return"!!-Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")+"-!!"},c.repeat=function(){return"!!-repeat-!!"},c.resetProgram=function(){return"!!-Reset-!!"},c.runProgram=function(){return"!!-Run-!!"},c.runTooltip=function(){return"!!-Run the program defined by the blocks in the workspace.-!!"},c.score=function(){return"!!-score-!!"},c.showCodeHeader=function(){return"!!-Show Code-!!"},c.showGeneratedCode=function(){return"!!-Show code-!!"},c.subtitle=function(){return"!!-a visual programming environment-!!"},c.textVariable=function(){return"!!-text-!!"},c.tooFewBlocksMsg=function(){return"!!-You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle.-!!"},c.tooManyBlocksMsg=function(){return"!!-This puzzle can be solved with blocks.-!!"},c.tooMuchWork=function(){return"!!-You made me do a lot of work! Could you try repeating fewer times?-!!"},c.toolboxHeader=function(){return"!!-Blocks-!!"},c.openWorkspace=function(){return"!!-How It Works-!!"},c.totalNumLinesOfCodeWritten=function(a){return"!!-All-time total: "+p(a,"numLines",0,"en",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code.-!!"},c.tryAgain=function(){return"!!-Try again-!!"},c.hintRequest=function(){return"!!-See hint-!!"},c.backToPreviousLevel=function(){return"!!-Back to previous level-!!"},c.saveToGallery=function(){return"!!-Save to your gallery-!!"},c.savedToGallery=function(){return"!!-Saved to your gallery!-!!"},c.typeCode=function(){return"!!-Type your JavaScript code below these instructions.-!!"},c.typeFuncs=function(){return"!!-Available functions:%1-!!"},c.typeHint=function(){return"!!-Note that the parentheses and semicolons are required.-!!"},c.workspaceHeader=function(){return"!!-Assemble your blocks here: -!!"},c.infinity=function(){return"!!-Infinity-!!"},c.rotateText=function(){return"!!-Rotate your device.-!!"},c.orientationLock=function(){return"!!-Turn off orientation lock in device settings.-!!"},c.wantToLearn=function(){return"!!-Want to learn to code?-!!"},c.watchVideo=function(){return"!!-Watch the Video-!!"},c.when=function(){return"!!-when-!!"},c.whenRun=function(){return"!!-when run-!!"},c.tryHOC=function(){return"!!-Try the Hour of Code-!!"},c.signup=function(){return"!!-Sign up for the intro course-!!"},c.hintHeader=function(){return"!!-Here's a tip:-!!"},c.genericFeedback=function(){return"!!-See how you ended up, and try to fix your program.-!!"}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.en=function(a){return 1===a?"one":"other"},c.actor=function(){return"!!-actor-!!"},c.catActions=function(){return"!!-Actions-!!"},c.catControl=function(){return"!!-Loops-!!"},c.catEvents=function(){return"!!-Events-!!"},c.catLogic=function(){return"!!-Logic-!!"},c.catMath=function(){return"!!-Math-!!"},c.catProcedures=function(){return"!!-Functions-!!"},c.catText=function(){return"!!-Text-!!"},c.catVariables=function(){return"!!-Variables-!!"},c.changeScoreTooltip=function(){return"!!-Add or remove a point to the score.-!!"},c.changeScoreTooltipK1=function(){return"!!-Add a point to the score.-!!"},c.continue=function(){return"!!-Continue-!!"},c.decrementPlayerScore=function(){return"!!-remove point-!!"},c.defaultSayText=function(){return"!!-type here-!!"},c.emotion=function(){return"!!-mood-!!"},c.finalLevel=function(){return"!!-Congratulations! You have solved the final puzzle.-!!"},c.hello=function(){return"!!-hello-!!"},c.helloWorld=function(){return"!!-Hello World!-!!"},c.incrementPlayerScore=function(){return"!!-score point-!!"},c.makeProjectileDisappear=function(){return"!!-disappear-!!"},c.makeProjectileBounce=function(){return"!!-bounce-!!"},c.makeProjectileBlueFireball=function(){return"!!-make blue fireball-!!"},c.makeProjectilePurpleFireball=function(){return"!!-make purple fireball-!!"},c.makeProjectileRedFireball=function(){return"!!-make red fireball-!!"},c.makeProjectileYellowHearts=function(){return"!!-make yellow hearts-!!"},c.makeProjectilePurpleHearts=function(){return"!!-make purple hearts-!!"},c.makeProjectileRedHearts=function(){return"!!-make red hearts-!!"},c.makeProjectileTooltip=function(){return"!!-Make the projectile that just collided disappear or bounce.-!!"},c.makeYourOwn=function(){return"!!-Make Your Own Story-!!"},c.moveDirectionDown=function(){return"!!-down-!!"},c.moveDirectionLeft=function(){return"!!-left-!!"},c.moveDirectionRight=function(){return"!!-right-!!"},c.moveDirectionUp=function(){return"!!-up-!!"},c.moveDirectionRandom=function(){return"!!-random-!!"},c.moveDistance25=function(){return"!!-25 pixels-!!"},c.moveDistance50=function(){return"!!-50 pixels-!!"},c.moveDistance100=function(){return"!!-100 pixels-!!"},c.moveDistance200=function(){return"!!-200 pixels-!!"},c.moveDistance400=function(){return"!!-400 pixels-!!"},c.moveDistancePixels=function(){return"!!-pixels-!!"},c.moveDistanceRandom=function(){return"!!-random pixels-!!"},c.moveDistanceTooltip=function(){return"!!-Move an actor a specific distance in the specified direction.-!!"},c.moveSprite=function(){return"!!-move-!!"},c.moveSpriteN=function(a){return"!!-move actor "+v(a,"spriteIndex")+"-!!"},c.moveDown=function(){return"!!-move down-!!"},c.moveDownTooltip=function(){return"!!-Move an actor down.-!!"},c.moveLeft=function(){return"!!-move left-!!"},c.moveLeftTooltip=function(){return"!!-Move an actor to the left.-!!"},c.moveRight=function(){return"!!-move right-!!"},c.moveRightTooltip=function(){return"!!-Move an actor to the right.-!!"},c.moveUp=function(){return"!!-move up-!!"},c.moveUpTooltip=function(){return"!!-Move an actor up.-!!"},c.moveTooltip=function(){return"!!-Move an actor.-!!"},c.nextLevel=function(){return"!!-Congratulations! You have completed this puzzle.-!!"},c.no=function(){return"!!-No-!!"},c.numBlocksNeeded=function(){return"!!-This puzzle can be solved with %1 blocks.-!!"},c.ouchExclamation=function(){return"!!-Ouch!-!!"},c.playSoundCrunch=function(){return"!!-play crunch sound-!!"},c.playSoundGoal1=function(){return"!!-play goal 1 sound-!!"},c.playSoundGoal2=function(){return"!!-play goal 2 sound-!!"},c.playSoundHit=function(){return"!!-play hit sound-!!"},c.playSoundLosePoint=function(){return"!!-play lose point sound-!!"},c.playSoundLosePoint2=function(){return"!!-play lose point 2 sound-!!"},c.playSoundRetro=function(){return"!!-play retro sound-!!"},c.playSoundRubber=function(){return"!!-play rubber sound-!!"},c.playSoundSlap=function(){return"!!-play slap sound-!!"},c.playSoundTooltip=function(){return"!!-Play the chosen sound.-!!"},c.playSoundWinPoint=function(){return"!!-play win point sound-!!"},c.playSoundWinPoint2=function(){return"!!-play win point 2 sound-!!"},c.playSoundWood=function(){return"!!-play wood sound-!!"},c.positionOutTopLeft=function(){return"!!-to the above top left position-!!"},c.positionOutTopRight=function(){return"!!-to the above top right position-!!"},c.positionTopOutLeft=function(){return"!!-to the top outside left position-!!"},c.positionTopLeft=function(){return"!!-to the top left position-!!"},c.positionTopCenter=function(){return"!!-to the top center position-!!"},c.positionTopRight=function(){return"!!-to the top right position-!!"},c.positionTopOutRight=function(){return"!!-to the top outside right position-!!"},c.positionMiddleLeft=function(){return"!!-to the middle left position-!!"},c.positionMiddleCenter=function(){return"!!-to the middle center position-!!"},c.positionMiddleRight=function(){return"!!-to the middle right position-!!"},c.positionBottomOutLeft=function(){return"!!-to the bottom outside left position-!!"},c.positionBottomLeft=function(){return"!!-to the bottom left position-!!"},c.positionBottomCenter=function(){return"!!-to the bottom center position-!!"},c.positionBottomRight=function(){return"!!-to the bottom right position-!!"},c.positionBottomOutRight=function(){return"!!-to the bottom outside right position-!!"},c.positionOutBottomLeft=function(){return"!!-to the below bottom left position-!!"},c.positionOutBottomRight=function(){return"!!-to the below bottom right position-!!"},c.positionRandom=function(){return"!!-to the random position-!!"},c.projectileBlueFireball=function(){return"!!-blue fireball-!!"},c.projectilePurpleFireball=function(){return"!!-purple fireball-!!"},c.projectileRedFireball=function(){return"!!-red fireball-!!"},c.projectileYellowHearts=function(){return"!!-yellow hearts-!!"},c.projectilePurpleHearts=function(){return"!!-purple hearts-!!"},c.projectileRedHearts=function(){return"!!-red hearts-!!"},c.projectileRandom=function(){return"!!-random-!!"},c.reinfFeedbackMsg=function(){return'!!-You can press the "Try again" button to go back to playing your story.-!!'},c.repeatForever=function(){return"!!-repeat forever-!!"},c.repeatDo=function(){return"!!-do-!!"},c.repeatForeverTooltip=function(){return"!!-Execute the actions in this block repeatedly while the story is running.-!!"},c.saySprite=function(){return"!!-say-!!"},c.saySpriteN=function(a){return"!!-actor "+v(a,"spriteIndex")+" say-!!"},c.saySpriteTooltip=function(){return"!!-Pop up a speech bubble with the associated text from the specified actor.-!!"},c.scoreText=function(a){return"!!-Score: "+v(a,"playerScore")+"-!!"},c.setBackground=function(){return"!!-set background-!!"},c.setBackgroundRandom=function(){return"!!-set random background-!!"},c.setBackgroundBlack=function(){return"!!-set black background-!!"},c.setBackgroundCave=function(){return"!!-set cave background-!!"},c.setBackgroundCloudy=function(){return"!!-set cloudy background-!!"},c.setBackgroundHardcourt=function(){return"!!-set hardcourt background-!!"},c.setBackgroundNight=function(){return"!!-set night background-!!"},c.setBackgroundUnderwater=function(){return"!!-set underwater background-!!"},c.setBackgroundCity=function(){return"!!-set city background-!!"},c.setBackgroundDesert=function(){return"!!-set desert background-!!"},c.setBackgroundRainbow=function(){return"!!-set rainbow background-!!"},c.setBackgroundSoccer=function(){return"!!-set soccer background-!!"},c.setBackgroundSpace=function(){return"!!-set space background-!!"},c.setBackgroundTennis=function(){return"!!-set tennis background-!!"},c.setBackgroundWinter=function(){return"!!-set winter background-!!"},c.setBackgroundTooltip=function(){return"!!-Sets the background image-!!"},c.setScoreText=function(){return"!!-set score-!!"},c.setScoreTextTooltip=function(){return"!!-Sets the text to be displayed in the score area.-!!"},c.setSpriteEmotionAngry=function(){return"!!-to a angry mood-!!"},c.setSpriteEmotionHappy=function(){return"!!-to a happy mood-!!"},c.setSpriteEmotionNormal=function(){return"!!-to a normal mood-!!"},c.setSpriteEmotionRandom=function(){return"!!-to a random mood-!!"},c.setSpriteEmotionSad=function(){return"!!-to a sad mood-!!"},c.setSpriteEmotionTooltip=function(){return"!!-Sets the actor mood-!!"},c.setSpriteAlien=function(){return"!!-to an alien image-!!"},c.setSpriteBat=function(){return"!!-to a bat image-!!"},c.setSpriteBird=function(){return"!!-to a bird image-!!"},c.setSpriteCat=function(){return"!!-to a cat image-!!"},c.setSpriteCaveBoy=function(){return"!!-to a cave boy image-!!"},c.setSpriteCaveGirl=function(){return"!!-to a cave girl image-!!"},c.setSpriteDinosaur=function(){return"!!-to a dinosaur image-!!"},c.setSpriteDog=function(){return"!!-to a dog image-!!"},c.setSpriteDragon=function(){return"!!-to a dragon image-!!"},c.setSpriteGhost=function(){return"!!-to a ghost image-!!"},c.setSpriteHidden=function(){return"!!-to a hidden image-!!"},c.setSpriteHideK1=function(){return"!!-hide-!!"},c.setSpriteKnight=function(){return"!!-to a knight image-!!"},c.setSpriteMonster=function(){return"!!-to a monster image-!!"},c.setSpriteNinja=function(){return"!!-to a masked ninja image-!!"},c.setSpriteOctopus=function(){return"!!-to an octopus image-!!"},c.setSpritePenguin=function(){return"!!-to a penguin image-!!"},c.setSpritePirate=function(){return"!!-to a pirate image-!!"},c.setSpritePrincess=function(){return"!!-to a princess image-!!"},c.setSpriteRandom=function(){return"!!-to a random image-!!"},c.setSpriteRobot=function(){return"!!-to a robot image-!!"},c.setSpriteShowK1=function(){return"!!-show-!!"},c.setSpriteSpacebot=function(){return"!!-to a spacebot image-!!"},c.setSpriteSoccerGirl=function(){return"!!-to a soccer girl image-!!"},c.setSpriteSoccerBoy=function(){return"!!-to a soccer boy image-!!"},c.setSpriteSquirrel=function(){return"!!-to a squirrel image-!!"},c.setSpriteTennisGirl=function(){return"!!-to a tennis girl image-!!"},c.setSpriteTennisBoy=function(){return"!!-to a tennis boy image-!!"},c.setSpriteUnicorn=function(){return"!!-to a unicorn image-!!"},c.setSpriteWitch=function(){return"!!-to a witch image-!!"},c.setSpriteWizard=function(){return"!!-to a wizard image-!!"},c.setSpritePositionTooltip=function(){return"!!-Instantly moves an actor to the specified location.-!!"},c.setSpriteK1Tooltip=function(){return"!!-Shows or hides the specified actor.-!!"},c.setSpriteTooltip=function(){return"!!-Sets the actor image-!!"},c.setSpriteSizeRandom=function(){return"!!-to a random size-!!"},c.setSpriteSizeVerySmall=function(){return"!!-to a very small size-!!"},c.setSpriteSizeSmall=function(){return"!!-to a small size-!!"},c.setSpriteSizeNormal=function(){return"!!-to a normal size-!!"},c.setSpriteSizeLarge=function(){return"!!-to a large size-!!"},c.setSpriteSizeVeryLarge=function(){return"!!-to a very large size-!!"},c.setSpriteSizeTooltip=function(){return"!!-Sets the size of an actor-!!"},c.setSpriteSpeedRandom=function(){return"!!-to a random speed-!!"},c.setSpriteSpeedVerySlow=function(){return"!!-to a very slow speed-!!"},c.setSpriteSpeedSlow=function(){return"!!-to a slow speed-!!"},c.setSpriteSpeedNormal=function(){return"!!-to a normal speed-!!"},c.setSpriteSpeedFast=function(){return"!!-to a fast speed-!!"},c.setSpriteSpeedVeryFast=function(){return"!!-to a very fast speed-!!"},c.setSpriteSpeedTooltip=function(){return"!!-Sets the speed of an actor-!!"},c.setSpriteZombie=function(){return"!!-to a zombie image-!!"},c.shareStudioTwitter=function(){return"!!-Check out the story I made. I wrote it myself with @codeorg-!!"},c.shareGame=function(){return"!!-Share your story:-!!"},c.showTitleScreen=function(){return"!!-show title screen-!!"},c.showTitleScreenTitle=function(){return"!!-title-!!"},c.showTitleScreenText=function(){return"!!-text-!!"},c.showTSDefTitle=function(){return"!!-type title here-!!"},c.showTSDefText=function(){return"!!-type text here-!!"},c.showTitleScreenTooltip=function(){return"!!-Show a title screen with the associated title and text.-!!"},c.setSprite=function(){return"!!-set-!!"},c.setSpriteN=function(a){return"!!-set actor "+v(a,"spriteIndex")+"-!!"},c.soundCrunch=function(){return"!!-crunch-!!"},c.soundGoal1=function(){return"!!-goal 1-!!"},c.soundGoal2=function(){return"!!-goal 2-!!"},c.soundHit=function(){return"!!-hit-!!"},c.soundLosePoint=function(){return"!!-lose point-!!"},c.soundLosePoint2=function(){return"!!-lose point 2-!!"},c.soundRetro=function(){return"!!-retro-!!"},c.soundRubber=function(){return"!!-rubber-!!"},c.soundSlap=function(){return"!!-slap-!!"},c.soundWinPoint=function(){return"!!-win point-!!"},c.soundWinPoint2=function(){return"!!-win point 2-!!"},c.soundWood=function(){return"!!-wood-!!"},c.speed=function(){return"!!-speed-!!"},c.stopSprite=function(){return"!!-stop-!!"},c.stopSpriteN=function(a){return"!!-stop actor "+v(a,"spriteIndex")+"-!!"},c.stopTooltip=function(){return"!!-Stops an actor's movement.-!!"},c.throwSprite=function(){return"!!-throw-!!"},c.throwSpriteN=function(a){return"!!-actor "+v(a,"spriteIndex")+" throw-!!"},c.throwTooltip=function(){return"!!-Throws a projectile from the specified actor.-!!"},c.vanish=function(){return"!!-vanish-!!"},c.vanishActorN=function(a){return"!!-vanish actor "+v(a,"spriteIndex")+"-!!"},c.vanishTooltip=function(){return"!!-Vanishes the actor.-!!"},c.waitFor=function(){return"!!-wait for-!!"},c.waitSeconds=function(){return"!!-seconds-!!"},c.waitForClick=function(){return"!!-wait for click-!!"},c.waitForRandom=function(){return"!!-wait for random-!!"},c.waitForHalfSecond=function(){return"!!-wait for a half second-!!"},c.waitFor1Second=function(){return"!!-wait for 1 second-!!"},c.waitFor2Seconds=function(){return"!!-wait for 2 seconds-!!"},c.waitFor5Seconds=function(){return"!!-wait for 5 seconds-!!"},c.waitFor10Seconds=function(){return"!!-wait for 10 seconds-!!"},c.waitParamsTooltip=function(){return"!!-Waits for a specified number of seconds or use zero to wait until a click occurs.-!!"},c.waitTooltip=function(){return"!!-Waits for a specified amount of time or until a click occurs.-!!"},c.whenArrowDown=function(){return"!!-down arrow-!!"},c.whenArrowLeft=function(){return"!!-left arrow-!!"},c.whenArrowRight=function(){return"!!-right arrow-!!"},c.whenArrowUp=function(){return"!!-up arrow-!!"},c.whenArrowTooltip=function(){return"!!-Execute the actions below when the specified arrow key is pressed.-!!"},c.whenDown=function(){return"!!-when down arrow-!!"},c.whenDownTooltip=function(){return"!!-Execute the actions below when the down arrow key is pressed.-!!"},c.whenGameStarts=function(){return"!!-when story starts-!!"},c.whenGameStartsTooltip=function(){return"!!-Execute the actions below when the story starts.-!!"},c.whenLeft=function(){return"!!-when left arrow-!!"},c.whenLeftTooltip=function(){return"!!-Execute the actions below when the left arrow key is pressed.-!!"},c.whenRight=function(){return"!!-when right arrow-!!"},c.whenRightTooltip=function(){return"!!-Execute the actions below when the right arrow key is pressed.-!!"},c.whenSpriteClicked=function(){return"!!-when actor clicked-!!"},c.whenSpriteClickedN=function(a){return"!!-when actor "+v(a,"spriteIndex")+" clicked-!!"},c.whenSpriteClickedTooltip=function(){return"!!-Execute the actions below when an actor is clicked.-!!"},c.whenSpriteCollidedN=function(a){return"!!-when actor "+v(a,"spriteIndex")+"-!!"},c.whenSpriteCollidedTooltip=function(){return"!!-Execute the actions below when an actor touches another actor.-!!"},c.whenSpriteCollidedWith=function(){return"!!-touches-!!"},c.whenSpriteCollidedWithN=function(a){return"!!-touches actor "+v(a,"spriteIndex")+"-!!"},c.whenSpriteCollidedWithBlueFireball=function(){return"!!-touches blue fireball-!!"},c.whenSpriteCollidedWithPurpleFireball=function(){return"!!-touches purple fireball-!!"},c.whenSpriteCollidedWithRedFireball=function(){return"!!-touches red fireball-!!"},c.whenSpriteCollidedWithYellowHearts=function(){return"!!-touches yellow hearts-!!"},c.whenSpriteCollidedWithPurpleHearts=function(){return"!!-touches purple hearts-!!"},c.whenSpriteCollidedWithRedHearts=function(){return"!!-touches red hearts-!!"},c.whenSpriteCollidedWithBottomEdge=function(){return"!!-touches bottom edge-!!"},c.whenSpriteCollidedWithLeftEdge=function(){return"!!-touches left edge-!!"},c.whenSpriteCollidedWithRightEdge=function(){return"!!-touches right edge-!!"},c.whenSpriteCollidedWithTopEdge=function(){return"!!-touches top edge-!!"},c.whenUp=function(){return"!!-when up arrow-!!"},c.whenUpTooltip=function(){return"!!-Execute the actions below when the up arrow key is pressed.-!!"},c.yes=function(){return"!!-Yes-!!"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/en_us/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/en_us/common":40,"../../locale/en_us/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_us/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_us/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/en_us/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/en_us/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/en_us/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_us/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_us/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_us/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/en_us/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_us/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/en_us/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/en_us/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.en=function(a){return 1===a?"one":"other"},c.and=function(){return"and"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Actions"},c.catColour=function(){return"Colour"},c.catLogic=function(){return"Logic"},c.catLists=function(){return"Lists"},c.catLoops=function(){return"Loops"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"See generated JavaScript code."},c.continue=function(){return"Continue"},c.dialogCancel=function(){return"Cancel"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return'You have unattached blocks. Did you mean to attach these to the "when run" block?'},c.finalStage=function(){return"Congratulations! You have completed the final stage."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"en",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Even top universities teach block-based coding (e.g., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). But under the hood, the blocks you have assembled can also be shown in JavaScript, the world's most widely used coding language:"},c.hashError=function(){return"Sorry, '%1' doesn't correspond with any saved program."},c.help=function(){return"Help"},c.hintTitle=function(){return"Hint:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"list"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"en",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Congratulations! You completed "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed "+v(a,"stageName")+" and won "+p(a,"numTrophies",0,"en",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"en",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"en",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")},c.repeat=function(){return"repeat"},c.resetProgram=function(){return"Reset"},c.runProgram=function(){return"Run"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Show Code"},c.showGeneratedCode=function(){return"Show code"},c.subtitle=function(){return"a visual programming environment"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"Blocks"},c.openWorkspace=function(){return"How It Works"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"en",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Try again"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Back to previous level"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Type your JavaScript code below these instructions."},c.typeFuncs=function(){return"Available functions:%1"},c.typeHint=function(){return"Note that the parentheses and semicolons are required."},c.workspaceHeader=function(){return"Assemble your blocks here: "},c.infinity=function(){return"Infinity"},c.rotateText=function(){return"Rotate your device."},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.en=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Actions"},c.catControl=function(){return"Loops"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logic"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Continue"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Congratulations! You have solved the final puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"score point"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"random"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move an actor a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move an actor down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move an actor to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move an actor to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move an actor up."},c.moveTooltip=function(){return"Move an actor."},c.nextLevel=function(){return"Congratulations! You have completed this puzzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play the chosen sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"random"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"do"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified actor."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random background"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt background"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry mood"},c.setSpriteEmotionHappy=function(){return"to a happy mood"},c.setSpriteEmotionNormal=function(){return"to a normal mood"},c.setSpriteEmotionRandom=function(){return"to a random mood"},c.setSpriteEmotionSad=function(){return"to a sad mood"},c.setSpriteEmotionTooltip=function(){return"Sets the actor mood"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the actor image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of an actor"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"set"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the down arrow key is pressed."},c.whenGameStarts=function(){return"when story starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the story starts."},c.whenLeft=function(){return"when left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the left arrow key is pressed."},c.whenRight=function(){return"when right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the right arrow key is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when an actor is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when an actor touches another actor."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the up arrow key is pressed."},c.yes=function(){return"Yes"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1]; if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/es_es/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/es_es/common":40,"../../locale/es_es/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/es_es/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/es_es/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/es_es/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/es_es/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/es_es/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/es_es/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/es_es/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/es_es/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/es_es/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/es_es/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/es_es/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/es_es/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.es=function(a){return 1===a?"one":"other"},c.and=function(){return"y"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Acciones"},c.catColour=function(){return"Color"},c.catLogic=function(){return"Lógica"},c.catLists=function(){return"Listas"},c.catLoops=function(){return"Iteraciones"},c.catMath=function(){return"Matemáticas"},c.catProcedures=function(){return"Funciones"},c.catText=function(){return"Texto"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"Ver el código JavaScript generado."},c.continue=function(){return"Continuar"},c.dialogCancel=function(){return"Cancelar"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"O"},c.end=function(){return"fin"},c.emptyBlocksErrorMsg=function(){return'Los bloques "repetir" o "si" deben tener otros bloques dentro de ellos para funcionar. Asegúrate que el bloque interno quede correctamente dentro del bloque que lo contiene.'},c.emptyFunctionBlocksErrorMsg=function(){return"El bloque de función necesita tener otros bloques en su interior para funcionar."},c.extraTopBlocks=function(){return"Tienes bloques adicionales que no están conectados a un bloque de evento."},c.finalStage=function(){return"¡Felicidades! Has completado la etapa final."},c.finalStageTrophies=function(a){return"¡Felicidades! Has completado la etapa final y ganaste "+p(a,"numTrophies",0,"es",{one:"un trofeo",other:n(a,"numTrophies")+" trofeos"})+"."},c.finish=function(){return"Terminar"},c.generatedCodeInfo=function(a){return"Incluso las mejores universidades enseñan codificación basada en bloques (por ejemplo, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Aun así los bloques que has codificado se pueden mostrar en JavaScript, el lenguaje de programación más utilizado en el mundo:"},c.hashError=function(){return"Lo sentimos, '%1' no se corresponde con ningún programa guardado."},c.help=function(){return"Ayuda"},c.hintTitle=function(){return"Sugerencia:"},c.jump=function(){return"salta"},c.levelIncompleteError=function(){return"Estás utilizando todos los tipos necesarios de bloques pero no de la manera correcta."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Crea tu propio juego Flappy Bird"},c.missingBlocksErrorMsg=function(){return"Trata de resolver este puzzle usando uno o más de los bloques de abajo."},c.nextLevel=function(a){return"¡Felicidades! Completaste el Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"¡Felicidades! Completaste el puzzle "+v(a,"puzzleNumber")+" y ganaste "+p(a,"numTrophies",0,"es",{one:"un trofeo",other:n(a,"numTrophies")+" trofeos"})+"."},c.nextStage=function(a){return"¡Felicitaciones! Ha completado la fase "+v(a,"stageName")+"." },c.nextStageTrophies=function(a){return"¡Felicitaciones ha completado la fase "+v(a,"stageName")+" y ha ganado "+p(a,"numTrophies",0,"es",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"¡Felicidades! Completaste el puzzle "+v(a,"puzzleNumber")+". (Sin embargo, podrías haber usado sólo "+p(a,"numBlocks",0,"es",{one:"1 bloque",other:n(a,"numBlocks")+" bloques"})+".)"},c.numLinesOfCodeWritten=function(a){return"¡Acabas de escribir "+p(a,"numLines",0,"es",{one:"una línea",other:n(a,"numLines")+" líneas"})+" de código!"},c.play=function(){return"jugar"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" de "+v(a,"stage_total")},c.repeat=function(){return"repetir"},c.resetProgram=function(){return"Reiniciar"},c.runProgram=function(){return"Ejecutar"},c.runTooltip=function(){return"Ejecuta el programa definido por los bloques del espacio de trabajo."},c.score=function(){return"puntuación"},c.showCodeHeader=function(){return"Mostrar el código"},c.showGeneratedCode=function(){return"Mostrar el código"},c.subtitle=function(){return"un entorno de programación visual"},c.textVariable=function(){return"texto"},c.tooFewBlocksMsg=function(){return"Estás utilizando todos los tipos necesarios de bloques, pero trata de usar más de estos tipos de bloques para completar este puzzle."},c.tooManyBlocksMsg=function(){return"Puedes resolver este puzzle con bloques."},c.tooMuchWork=function(){return"¡Me has hecho trabajar mucho! ¿Podrías tratar de repetir menos veces?"},c.toolboxHeader=function(){return"Bloques"},c.openWorkspace=function(){return"Cómo funciona"},c.totalNumLinesOfCodeWritten=function(a){return"Total: "+p(a,"numLines",0,"es",{one:"1 línea",other:n(a,"numLines")+" lineas"})+" de código."},c.tryAgain=function(){return"Vuelve a intentarlo"},c.hintRequest=function(){return"Ver pista"},c.backToPreviousLevel=function(){return"Volver al nivel anterior"},c.saveToGallery=function(){return"Guardar en su galería"},c.savedToGallery=function(){return"¡Guardado en su galería!"},c.typeCode=function(){return"Escribe tu código JavaScript debajo de estas instrucciones."},c.typeFuncs=function(){return"Funciones disponibles:%1"},c.typeHint=function(){return"Ten en cuenta que los paréntesis y los punto y coma son necesarios."},c.workspaceHeader=function(){return"Coloca tus bloques aquí:"},c.infinity=function(){return"Infinito"},c.rotateText=function(){return"Gira tu dispositivo."},c.orientationLock=function(){return"Desactiva el bloqueo de orientación en la configuración del dispositivo."},c.wantToLearn=function(){return"¿Quieres aprender a programar?"},c.watchVideo=function(){return"Mira el Video"},c.when=function(){return"cuando"},c.whenRun=function(){return"cuando se ejecuta"},c.tryHOC=function(){return"Prueba la Hora del Código"},c.signup=function(){return"Únete al curso de introducción"},c.hintHeader=function(){return"Aquí hay un consejo:"},c.genericFeedback=function(){return"Ver como terminaste, y tratar de reparar tu programa."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.es=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Acciones"},c.catControl=function(){return"Bucles"},c.catEvents=function(){return"Eventos"},c.catLogic=function(){return"Lógica"},c.catMath=function(){return"Matemáticas"},c.catProcedures=function(){return"Funciones"},c.catText=function(){return"Texto"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Agregar o quitar un punto a la puntuación."},c.changeScoreTooltipK1=function(){return"Añadir un punto a la puntuación."},c.continue=function(){return"Continuar"},c.decrementPlayerScore=function(){return"Quitar punto"},c.defaultSayText=function(){return"Escriba aquí"},c.emotion=function(){return"estado de ánimo"},c.finalLevel=function(){return"¡Felicidades! Has resuelto el rompecabezas final."},c.hello=function(){return"hola"},c.helloWorld=function(){return"Hola Mundo!"},c.incrementPlayerScore=function(){return"Puntuación punto"},c.makeProjectileDisappear=function(){return"desaparecer"},c.makeProjectileBounce=function(){return"rebote"},c.makeProjectileBlueFireball=function(){return"hacer bola de fuego azul"},c.makeProjectilePurpleFireball=function(){return"hacer bola de fuego púrpura"},c.makeProjectileRedFireball=function(){return"hacer bola de fuego roja"},c.makeProjectileYellowHearts=function(){return"hacer corazones amarillos"},c.makeProjectilePurpleHearts=function(){return"hacer corazones morados"},c.makeProjectileRedHearts=function(){return"hacer corazones rojos"},c.makeProjectileTooltip=function(){return"Hacer que el proyectil que acaba de chocar desaparesca o rebote."},c.makeYourOwn=function(){return"Hacer tu propia historia"},c.moveDirectionDown=function(){return"abajo"},c.moveDirectionLeft=function(){return"izquierda"},c.moveDirectionRight=function(){return"derecha"},c.moveDirectionUp=function(){return"arriba"},c.moveDirectionRandom=function(){return"aleatoro"},c.moveDistance25=function(){return"25 píxeles"},c.moveDistance50=function(){return"50 píxeles"},c.moveDistance100=function(){return"100 píxeles"},c.moveDistance200=function(){return"200 píxeles"},c.moveDistance400=function(){return"400 píxeles"},c.moveDistancePixels=function(){return"pixeles"},c.moveDistanceRandom=function(){return"pixeles aleatorios"},c.moveDistanceTooltip=function(){return"Mover un actor una distancia específica en la dirección especificada."},c.moveSprite=function(){return"Mover"},c.moveSpriteN=function(a){return"mover actor "+v(a,"spriteIndex")},c.moveDown=function(){return"Bajar"},c.moveDownTooltip=function(){return"Bajar a un actor."},c.moveLeft=function(){return"mover hacia la izquierda"},c.moveLeftTooltip=function(){return"Mover un actor a la izquierda."},c.moveRight=function(){return"mover hacia la derecha"},c.moveRightTooltip=function(){return"Mover un actor hacia la derecha."},c.moveUp=function(){return"mueva hacia arriba"},c.moveUpTooltip=function(){return"Sube a un actor."},c.moveTooltip=function(){return"Mueve a un actor."},c.nextLevel=function(){return"¡Enhorabuena! Has completado este puzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"Este puzle puede resolverse con %1 bloques."},c.ouchExclamation=function(){return"¡Ay!"},c.playSoundCrunch=function(){return"reproducir sonido crujido"},c.playSoundGoal1=function(){return"reproducir sonido meta 1"},c.playSoundGoal2=function(){return"reproducir sonido meta 2"},c.playSoundHit=function(){return"reproducir sonido golpe"},c.playSoundLosePoint=function(){return"Reproducir sonido punto perdido"},c.playSoundLosePoint2=function(){return"Reproducir sonido punto perdido 2"},c.playSoundRetro=function(){return"reproducir sonido retro"},c.playSoundRubber=function(){return"emitir sonido de goma"},c.playSoundSlap=function(){return"emitir sonido cachetada"},c.playSoundTooltip=function(){return"Reproduce el sonido seleccionado."},c.playSoundWinPoint=function(){return"Reproducir sonido punto ganado"},c.playSoundWinPoint2=function(){return"Reproducir sonido punto ganado 2"},c.playSoundWood=function(){return"Reproducir sonido de madera"},c.positionOutTopLeft=function(){return"a la posición superior izquierda"},c.positionOutTopRight=function(){return"a la posición superior derecha"},c.positionTopOutLeft=function(){return"a la posición superior izquierda externa"},c.positionTopLeft=function(){return"Hacia la posición superior izquierda"},c.positionTopCenter=function(){return"Hacia la posición superior central"},c.positionTopRight=function(){return"Hacia la posición superior derecha"},c.positionTopOutRight=function(){return"a la posición superior derecha externa"},c.positionMiddleLeft=function(){return"Hacia la posición media izquierda"},c.positionMiddleCenter=function(){return"Hacia la posición media central"},c.positionMiddleRight=function(){return"Hacia la posición media derecha"},c.positionBottomOutLeft=function(){return"a la posición inferior izquierda externa"},c.positionBottomLeft=function(){return"Hacia la posición inferior izquierda"},c.positionBottomCenter=function(){return"Hacia la posición inferior central"},c.positionBottomRight=function(){return"Hacia la posición inferior derecha"},c.positionBottomOutRight=function(){return"a la posición inferior derecha externa"},c.positionOutBottomLeft=function(){return"a la posición inferior izquierda"},c.positionOutBottomRight=function(){return"a la posición inferior derecha"},c.positionRandom=function(){return"Hacia una posición aleatoria"},c.projectileBlueFireball=function(){return"bola de fuego azul"},c.projectilePurpleFireball=function(){return"bola de fuego morada"},c.projectileRedFireball=function(){return"bola de fuego roja"},c.projectileYellowHearts=function(){return"corazones amarillos"},c.projectilePurpleHearts=function(){return"corazones morados"},c.projectileRedHearts=function(){return"corazones rojos"},c.projectileRandom=function(){return"aleatorio"},c.reinfFeedbackMsg=function(){return'Puedes pulsar el botón "Intentar de nuevo" para volver a jugar tu historia.'},c.repeatForever=function(){return"Repetir para siempre"},c.repeatDo=function(){return"Ejecutar"},c.repeatForeverTooltip=function(){return"Ejecutar las acciones de este bloque repetidamente mientras la historia se esté ejecutando."},c.saySprite=function(){return"decir"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" dice"},c.saySpriteTooltip=function(){return"Haz salir un bocadillo de diálogo con el texto asociado desde el actor especificado."},c.scoreText=function(a){return"Puntuación: "+v(a,"playerScore")},c.setBackground=function(){return"fijar fondo"},c.setBackgroundRandom=function(){return"Establecer fondo aleatorio"},c.setBackgroundBlack=function(){return"Establecer fondo negro"},c.setBackgroundCave=function(){return"Establecer fondo de cueva"},c.setBackgroundCloudy=function(){return"Establecer fondo nuboso"},c.setBackgroundHardcourt=function(){return"Establecer fondo de pista de asfalto o cemento"},c.setBackgroundNight=function(){return"Establecer fondo nocturno"},c.setBackgroundUnderwater=function(){return"Establecer fondo subaquático"},c.setBackgroundCity=function(){return"asignar el fondo de la ciudad"},c.setBackgroundDesert=function(){return"asignar el fondo del desierto"},c.setBackgroundRainbow=function(){return"asignar el fondo del arco iris"},c.setBackgroundSoccer=function(){return"asignar el fondo de fútbol"},c.setBackgroundSpace=function(){return"asignar el dondo del espacio"},c.setBackgroundTennis=function(){return"asignar el fondo de tenis"},c.setBackgroundWinter=function(){return"asignar el fondo de invierno"},c.setBackgroundTooltip=function(){return"Establece la imagen de fondo"},c.setScoreText=function(){return"Establece el puntaje"},c.setScoreTextTooltip=function(){return"Fija el texto que se va a mostrar en el área de puntaje."},c.setSpriteEmotionAngry=function(){return"enojado"},c.setSpriteEmotionHappy=function(){return"Feliz"},c.setSpriteEmotionNormal=function(){return"normal"},c.setSpriteEmotionRandom=function(){return"humor aleatorio"},c.setSpriteEmotionSad=function(){return"triste"},c.setSpriteEmotionTooltip=function(){return"Fija el estado de ánimo del actor"},c.setSpriteAlien=function(){return"a una imagen alienigena"},c.setSpriteBat=function(){return"a una imagen de un murcielago"},c.setSpriteBird=function(){return"a una imagen de un pajaro"},c.setSpriteCat=function(){return"a una imagen de un gato"},c.setSpriteCaveBoy=function(){return"a la imagen del niño de las cavernas"},c.setSpriteCaveGirl=function(){return"a la imagen de la niña de las cavernas"},c.setSpriteDinosaur=function(){return"a una imagen de un dinosaurio"},c.setSpriteDog=function(){return"a una imagen de un perro"},c.setSpriteDragon=function(){return"a una imagen de un dragón"},c.setSpriteGhost=function(){return"a una imagen de un fantasma"},c.setSpriteHidden=function(){return"a una imagen oculta"},c.setSpriteHideK1=function(){return"ocultar"},c.setSpriteKnight=function(){return"a la imagen de un caballero"},c.setSpriteMonster=function(){return"a la imagen de un monstruo"},c.setSpriteNinja=function(){return"a la imagen de un ninja enmascarado"},c.setSpriteOctopus=function(){return"a una imagen de un pulpo"},c.setSpritePenguin=function(){return"a la imagen de un pingüino"},c.setSpritePirate=function(){return"a la imagen de un pirata"},c.setSpritePrincess=function(){return"a la imagen de una princesa"},c.setSpriteRandom=function(){return"a una imagen al azar"},c.setSpriteRobot=function(){return"a la imagen de un robot"},c.setSpriteShowK1=function(){return"Mostrar"},c.setSpriteSpacebot=function(){return"a la imagen de un robot espacial"},c.setSpriteSoccerGirl=function(){return"a la imagen de una futbolista"},c.setSpriteSoccerBoy=function(){return"a la imagen de un futbolista"},c.setSpriteSquirrel=function(){return"a una imagen de una ardilla"},c.setSpriteTennisGirl=function(){return"a la imagen de una jugadora de tenis"},c.setSpriteTennisBoy=function(){return"a la imagen de un jugador de tenis"},c.setSpriteUnicorn=function(){return"a la imagen de un unicornio"},c.setSpriteWitch=function(){return"a una imagen de una bruja"},c.setSpriteWizard=function(){return"a una imagen de un mago"},c.setSpritePositionTooltip=function(){return"Mueve instantáneamente un actor a la posición especificada."},c.setSpriteK1Tooltip=function(){return"Muestra u oculta un actor específico."},c.setSpriteTooltip=function(){return"Fija la imagen del actor"},c.setSpriteSizeRandom=function(){return"a cualquier tamaño"},c.setSpriteSizeVerySmall=function(){return"a un tamaño muy pequeño"},c.setSpriteSizeSmall=function(){return"a un tamaño pequeño"},c.setSpriteSizeNormal=function(){return"a tamaño normal"},c.setSpriteSizeLarge=function(){return"a un gran tamaño"},c.setSpriteSizeVeryLarge=function(){return"a un enorme tamaño"},c.setSpriteSizeTooltip=function(){return"Pone el tamaño del actor"},c.setSpriteSpeedRandom=function(){return"a una velocidad al azar"},c.setSpriteSpeedVerySlow=function(){return"a una velocidad muy lenta"},c.setSpriteSpeedSlow=function(){return"a una velocidad lenta"},c.setSpriteSpeedNormal=function(){return"a una velocidad normal"},c.setSpriteSpeedFast=function(){return"a una velocidad rápida"},c.setSpriteSpeedVeryFast=function(){return"a una velocidad muy rápida"},c.setSpriteSpeedTooltip=function(){return"Ajusta la velocidad de un actor"},c.setSpriteZombie=function(){return"a la imagen de un zombie"},c.shareStudioTwitter=function(){return"Checa la historia que hice. La escribí yo mismo con @codeorg"},c.shareGame=function(){return"Comparte tu historia:"},c.showTitleScreen=function(){return"Mostrar la pantalla de título"},c.showTitleScreenTitle=function(){return"Título"},c.showTitleScreenText=function(){return"texto"},c.showTSDefTitle=function(){return"escribe el título aquí"},c.showTSDefText=function(){return"escriba el texto aquí"},c.showTitleScreenTooltip=function(){return"Muestra una pantalla con el título y texto asociados."},c.setSprite=function(){return"fijar"},c.setSpriteN=function(a){return"fijar actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"aplastar"},c.soundGoal1=function(){return"meta 1"},c.soundGoal2=function(){return"meta 2"},c.soundHit=function(){return"golpe"},c.soundLosePoint=function(){return"pierde punto"},c.soundLosePoint2=function(){return"pierde punto 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"liga"},c.soundSlap=function(){return"bofetada"},c.soundWinPoint=function(){return"punto ganador"},c.soundWinPoint2=function(){return"punto ganador 2"},c.soundWood=function(){return"madera"},c.speed=function(){return"velocidad"},c.stopSprite=function(){return"Parar"},c.stopSpriteN=function(a){return"detener actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Detener el movimiento del actor."},c.throwSprite=function(){return"Lanza"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" lanza"},c.throwTooltip=function(){return"Lanza un proyectil desde el actor especificado."},c.vanish=function(){return"desvanecer"},c.vanishActorN=function(a){return"desaparecer actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"desaparece el actor."},c.waitFor=function(){return"espera por"},c.waitSeconds=function(){return"segundos"},c.waitForClick=function(){return"espera un clic"},c.waitForRandom=function(){return"espera aleatoria"},c.waitForHalfSecond=function(){return"espera por medio segundo"},c.waitFor1Second=function(){return"espera por 1 segundo"},c.waitFor2Seconds=function(){return"espera por 2 segundos"},c.waitFor5Seconds=function(){return"espera por 5 segundos"},c.waitFor10Seconds=function(){return"espera por 10 segudos"},c.waitParamsTooltip=function(){return"Espera por un número específico de segundos, o usa cero para esperar hasta que ocurra un clic."},c.waitTooltip=function(){return"Espera por un periodo de tiempo determinado o hasta que ocurra un clic."},c.whenArrowDown=function(){return"flecha hacia abajo"},c.whenArrowLeft=function(){return"flecha izquierda"},c.whenArrowRight=function(){return"flecha derecha"},c.whenArrowUp=function(){return"flecha hacia arriba"},c.whenArrowTooltip=function(){return"Ejecutar las acciones mostradas debajo, cuando se presione la tecla de flecha especificada."},c.whenDown=function(){return"cuando la flecha apunte abajo"},c.whenDownTooltip=function(){return"Realiza las instrucciones de abajo cuando se presiona la tecla de fecha hacia abajo."},c.whenGameStarts=function(){return"cuando comience la historia"},c.whenGameStartsTooltip=function(){return"Ejecuta las acciones, mostradas abajo, cuando comienza la historia."},c.whenLeft=function(){return"Cuando la izquierda flecha"},c.whenLeftTooltip=function(){return"Ejecuta las acciones, mostradas abajo, cuando se presiona la tecla de flecha izquierda."},c.whenRight=function(){return"cuando la tecla flecha derecha"},c.whenRightTooltip=function(){return"Ejecuta las acciones, mostradas debajo, cuando la tecla de flecha derecha se presiona."},c.whenSpriteClicked=function(){return"cuando se hace clic en el actor"},c.whenSpriteClickedN=function(a){return"cuando se hace clic en el actor "+v(a,"spriteIndex")},c.whenSpriteClickedTooltip=function(){return"Ejecutar las acciones de debajo cuando se hace clic en un actor."},c.whenSpriteCollidedN=function(a){return"cuando el actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Ejecutar las acciones abajo cuando un actor toca otro actor."},c.whenSpriteCollidedWith=function(){return"toca"},c.whenSpriteCollidedWithN=function(a){return"toca el actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"toca la bola de fuego azul"},c.whenSpriteCollidedWithPurpleFireball=function(){return"toca la bola de fuego morada"},c.whenSpriteCollidedWithRedFireball=function(){return"toca la bola de fuego roja"},c.whenSpriteCollidedWithYellowHearts=function(){return"toca los corazones amarillos"},c.whenSpriteCollidedWithPurpleHearts=function(){return"toca los corazones morados"},c.whenSpriteCollidedWithRedHearts=function(){return"toca los corazones rojos"},c.whenSpriteCollidedWithBottomEdge=function(){return"toca la orilla inferior"},c.whenSpriteCollidedWithLeftEdge=function(){return"toca la orilla izquierda"},c.whenSpriteCollidedWithRightEdge=function(){return"toca la orilla derecha"},c.whenSpriteCollidedWithTopEdge=function(){return"toca la orilla superior"},c.whenUp=function(){return"Cuando flecha arriba"},c.whenUpTooltip=function(){return"Realiza las instrucciones de abajo cuando se presiona la tecla de fecha hacia arriba."},c.yes=function(){return"Sí"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/eu_es/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/eu_es/common":40,"../../locale/eu_es/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/eu_es/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/eu_es/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/eu_es/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/eu_es/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/eu_es/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/eu_es/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/eu_es/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/eu_es/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/eu_es/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/eu_es/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/eu_es/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/eu_es/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.eu=function(a){return 1===a?"one":"other"},c.and=function(){return"eta"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Ekintzak"},c.catColour=function(){return"Kolorea"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"Zerrendak"},c.catLoops=function(){return"Itzuliak"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funtzioak"},c.catText=function(){return"Testua"},c.catVariables=function(){return"Aldagaiak"},c.codeTooltip=function(){return"Ikusi sortutako Javascript kodea."},c.continue=function(){return"Jarraitu"},c.dialogCancel=function(){return"Ezeztatu"},c.dialogOK=function(){return"Ongi"},c.directionNorthLetter=function(){return"I"},c.directionSouthLetter=function(){return"H"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"M"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'"Errepikatu" edo "baldintza" blokeak barruan beste bloke batzuk behar ditu funtzionatzeko. Egiaztatu barruko blokeak egoki kokatuak daudela.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Ekintza blokeei lotu gabeko blokeak soberan daude."},c.finalStage=function(){return"Zorionak! Azkeneko eszenatokia osatu duzu."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"eu",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Goi mailako unibertsitateek (adib., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+" ) ere blokeetan oinarritutako kodeketa irakasten dute. Baina zuk erabilitako blokeen azpian munduan zehar erabilera zabalen duen kode hizkuntza dago, JavaScript:"},c.hashError=function(){return"Barkatu. %1 ez dator bat inongo gordetako programarekin."},c.help=function(){return"Laguntza"},c.hintTitle=function(){return"Aholkua:"},c.jump=function(){return"salto egin"},c.levelIncompleteError=function(){return"Beharrezko diren kode mota guztiak erabiltzen ari zara baina ez modu egokian."},c.listVariable=function(){return"zerrenda"},c.makeYourOwnFlappy=function(){return"Egin zure Flappy joko propioa"},c.missingBlocksErrorMsg=function(){return"Probatu azpiko bloke bat edo gehiago pule hau ebazteko."},c.nextLevel=function(a){return"Zorionak! "+v(a,"puzzleNumber")+" puzlea osatu duzu."},c.nextLevelTrophies=function(a){return"Zorionak! "+v(a,"puzzleNumber")+" puzlea osatu duzu eta "+p(a,"numTrophies",0,"eu",{one:"garaikur 1",other:n(a,"numTrophies")+" garaikur"})+" irabazi dituzu."},c.nextStage=function(a){return"Zorionak! "+v(a,"stageName")+" osatu duzu."},c.nextStageTrophies=function(a){return"Zorionak! "+v(a,"stageName")+" osatu duzu eta "+p(a,"numTrophies",0,"eu",{one:"garaikur 1",other:n(a,"numTrophies")+" garaikur"})+" irabazi dituzu." },c.numBlocksNeeded=function(a){return"Zorionak! "+v(a,"puzzleNumber")+". puzlea osatu dizu. (Hala ere "+p(a,"numBlocks",0,"eu",{one:"bloke 1",other:n(a,"numBlocks")+" bloke"})+" erabili ahal zenituen."},c.numLinesOfCodeWritten=function(a){return" "+p(a,"numLines",0,"eu",{one:"lerro 1",other:n(a,"numLines")+" lerro"})+" kode idatzi berri dituzu!\n"},c.play=function(){return"play"},c.puzzleTitle=function(a){return v(a,"stage_total")+"etik, "+v(a,"puzzle_number")+" puzlea"},c.repeat=function(){return"errepikatu"},c.resetProgram=function(){return"Leheneratu"},c.runProgram=function(){return"Abiarazi"},c.runTooltip=function(){return"Lan eremuko blokeek definitutako programa abiarazi."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Ikusi Iturburua"},c.showGeneratedCode=function(){return"Ikusi iturburua"},c.subtitle=function(){return"programazio ingurune bisuala"},c.textVariable=function(){return"testua"},c.tooFewBlocksMsg=function(){return"Beharrezko bloke mota guztiak erabiltzen ari zara, baina saiatu mota hontako bloke gehiago erabiltzen puzlea osatzeko."},c.tooManyBlocksMsg=function(){return"Puzlea hau blokeekin ebaz daiteke."},c.tooMuchWork=function(){return"Lan asko eginarazi didazu! Saiatu zaitezke gutxiagotan errepikatzen?"},c.toolboxHeader=function(){return"Blokeak"},c.openWorkspace=function(){return"Nola dabilen"},c.totalNumLinesOfCodeWritten=function(a){return"Guztira: "+p(a,"numLines",0,"eu",{one:"kode lerro 1",other:n(a,"numLines")+" lerro kode"})+"."},c.tryAgain=function(){return"Saiatu berriro"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Atzera aurreko mailara"},c.saveToGallery=function(){return"Gorde zure galerian"},c.savedToGallery=function(){return"Zure galerian gordeta!"},c.typeCode=function(){return"Idatzi zure JavaScript kodea argibide hauen azpian."},c.typeFuncs=function(){return"Funtzioa erabilgarriak:%1"},c.typeHint=function(){return"Kontuan hartu parentesiak eta puntu eta komak beharrezkoak direla."},c.workspaceHeader=function(){return"Mihiztatu zure blokeak hemen: "},c.infinity=function(){return"Infinito"},c.rotateText=function(){return"Biratu zure gailua."},c.orientationLock=function(){return"Itzali orientazio lokatzea gailuaren aukeretan."},c.wantToLearn=function(){return"Kodetzen ikasi nahi?"},c.watchVideo=function(){return"Ikusi Bideoa"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Probatu Kode Ordua"},c.signup=function(){return"Izena eman sarrera kurtsorako"},c.hintHeader=function(){return"Hemen aholkua:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.eu=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Ekintzak"},c.catControl=function(){return"Itzuliak"},c.catEvents=function(){return"Gertaerak"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funtzioak"},c.catText=function(){return"Testua"},c.catVariables=function(){return"Aldagaiak"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Jarraitu"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"idatzi hemen"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Zorionak! Amaierako puzlea ebatzi duzu."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Egin zure istorio propioa"},c.moveDirectionDown=function(){return"behera"},c.moveDirectionLeft=function(){return"ezkerra"},c.moveDirectionRight=function(){return"eskuina"},c.moveDirectionUp=function(){return"gora"},c.moveDirectionRandom=function(){return"ausazkoa"},c.moveDistance25=function(){return"25 pixel"},c.moveDistance50=function(){return"50 pixel"},c.moveDistance100=function(){return"100 pixel"},c.moveDistance200=function(){return"200 pixel"},c.moveDistance400=function(){return"400 pixel"},c.moveDistancePixels=function(){return"Pixelak"},c.moveDistanceRandom=function(){return"ausazko pixelak"},c.moveDistanceTooltip=function(){return"Mugitu aktorea distantzia zehatz batean eta norabide zehatzean."},c.moveSprite=function(){return"mugitu"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"mugiru behera"},c.moveDownTooltip=function(){return"Mugitu aktore bat behera."},c.moveLeft=function(){return"mugitu ezkerrera"},c.moveLeftTooltip=function(){return"mugitu aktore bat ezkerrera."},c.moveRight=function(){return"mugitu eskuinera"},c.moveRightTooltip=function(){return"Mugitu aktore bat eskuinera."},c.moveUp=function(){return"Mugitu gora"},c.moveUpTooltip=function(){return"Mugitu aktore bat gora."},c.moveTooltip=function(){return"Mugitu aktore bat."},c.nextLevel=function(){return"Zorionak! Puzle hau osatu duzu."},c.no=function(){return"Ez"},c.numBlocksNeeded=function(){return"Puzle hau %1 blokeekin ebaz daiteke."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"jo karraska soinua"},c.playSoundGoal1=function(){return"jo 1 gol soinua"},c.playSoundGoal2=function(){return"jo 2 gol soinua"},c.playSoundHit=function(){return"jo kolpe soinua"},c.playSoundLosePoint=function(){return"jo galdutako puntuaren soinua"},c.playSoundLosePoint2=function(){return"jo galdutako 2 puntuaren soinua"},c.playSoundRetro=function(){return"jo retro soinua"},c.playSoundRubber=function(){return"jo borragoma soinua"},c.playSoundSlap=function(){return"jo zaplasteko soinua"},c.playSoundTooltip=function(){return"Jo aukeratutako soinua."},c.playSoundWinPoint=function(){return"jo puntu irabazle soinua"},c.playSoundWinPoint2=function(){return"jo puntu irabazle soinua 2"},c.playSoundWood=function(){return"jo egur soinua"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"joan goi ezkerreko posiziora"},c.positionTopCenter=function(){return"goi erdiko posiziora"},c.positionTopRight=function(){return"goi eskuineko posiziora"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"erdiko ezkerreko posiziora"},c.positionMiddleCenter=function(){return"erdiko zentroko posiziora"},c.positionMiddleRight=function(){return"erdiko eskuineko posiziora"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"beheko ezkerreko posiziora"},c.positionBottomCenter=function(){return"behko zentroko posiziora"},c.positionBottomRight=function(){return"beheko eskuineko posiziora"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"ausazko posiziora"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"ausazkoa"},c.reinfFeedbackMsg=function(){return'"Berriro saiatu" botoiean klikatu dezakezu zure istorioa atzera egiteko.'},c.repeatForever=function(){return"errepikatu betirako"},c.repeatDo=function(){return"egin"},c.repeatForeverTooltip=function(){return"Exekutatu blokeko ekintzak etengabe istorioa martxan dagoen bitartean."},c.saySprite=function(){return"esan"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Zehaztutako aktoretik bokadiloa atera lotutako testuarekin."},c.scoreText=function(a){return"Markagailua: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"ezarri ausazko atzeko planoa"},c.setBackgroundBlack=function(){return"ezarri atzekalde beltza"},c.setBackgroundCave=function(){return"ezarri haitzulo atzekaldea"},c.setBackgroundCloudy=function(){return"ezarri atzekalde hodeitsua"},c.setBackgroundHardcourt=function(){return"ezarri zoru gogorreko atzekaldea"},c.setBackgroundNight=function(){return"ezarri gaueko atzekaldea"},c.setBackgroundUnderwater=function(){return"ezarri ur azpiko atzeko planoa"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Atzeko irudia ezartzen du"},c.setScoreText=function(){return"ezarri markagailua"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"ezkutuko irudira"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"ausazko irudi batera"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"sorgin irudi batera"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Toki zehatz batera aktorea berehala mugitzen du."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Aktorearen irudia ezartzen du"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"ausazko abiadura batera"},c.setSpriteSpeedVerySlow=function(){return"abiadura oso motel batera"},c.setSpriteSpeedSlow=function(){return"abiadura motel batera"},c.setSpriteSpeedNormal=function(){return"abiadura normal batera"},c.setSpriteSpeedFast=function(){return"abiadura azkar batera"},c.setSpriteSpeedVeryFast=function(){return"abiadura oso azkar batera"},c.setSpriteSpeedTooltip=function(){return"Aktore baten abiadura ezartzen du"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Ikusi egin dudan istorioa. @codeorg-ekin idatzi dut nik bakarrik"},c.shareGame=function(){return"Partekatu zure istorioa:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"testua"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"ezarri"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"geratu"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Aktore baten mugimendua geratzen du."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"itxoin klikatzea"},c.waitForRandom=function(){return"itxoin ausazkoa"},c.waitForHalfSecond=function(){return"itxoin segundu erdia"},c.waitFor1Second=function(){return"itxoin segundu 1"},c.waitFor2Seconds=function(){return"itxoin 2 segundu"},c.waitFor5Seconds=function(){return"itxoin 5 segundu"},c.waitFor10Seconds=function(){return"itxoin 10 segundu"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Klikatzea edo denbora kopuru zehatz bat itxoiten ditu."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"beheko gezia sakatzean"},c.whenDownTooltip=function(){return"Exekutatu behekaldeko ekintzak beheko gezidun tekla sakatzean."},c.whenGameStarts=function(){return"isotorioa hasten denean"},c.whenGameStartsTooltip=function(){return"Exekutatu beheko ekintzak istorioa hasten denean."},c.whenLeft=function(){return"ezkerreko gezia sakatzean"},c.whenLeftTooltip=function(){return"Exekutatu behekaldeko ekintzak ezkerreko gezidun tekla sakatzean."},c.whenRight=function(){return"eskuineko gezia sakatzean"},c.whenRightTooltip=function(){return"Exekutatu behekaldeko ekintzak eskubiko gezidun tekla sakatzean."},c.whenSpriteClicked=function(){return"aktorea klikatzean"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Aktorea klikatzen denean ekintza hauek exekutatu."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Exekutatu beheko ekintzak aktore batek beste bat ikutzen duenean."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"goiko gezia denean"},c.whenUpTooltip=function(){return"Exekutatu behekaldeko ekintzak gora gezidun tekla sakatzean."},c.yes=function(){return"Bai"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/fa_ir/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/fa_ir/common":40,"../../locale/fa_ir/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fa_ir/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fa_ir/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/fa_ir/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/fa_ir/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/fa_ir/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fa_ir/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fa_ir/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fa_ir/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/fa_ir/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fa_ir/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fa_ir/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fa_ir/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.fa=function(){return"other"},c.and=function(){return"و"},c.blocklyMessage=function(){return"بلاکلی"},c.catActions=function(){return"کارها"},c.catColour=function(){return"رنگ"},c.catLogic=function(){return"منطق"},c.catLists=function(){return"لیست ها"},c.catLoops=function(){return"حلقه‌ها"},c.catMath=function(){return"ریاضی"},c.catProcedures=function(){return"توابع"},c.catText=function(){return"متن"},c.catVariables=function(){return"متغیرها"},c.codeTooltip=function(){return"کد جاوا اسکریپت تولید شده رو ببین."},c.continue=function(){return"ادامه"},c.dialogCancel=function(){return"لغو"},c.dialogOK=function(){return"Ok"},c.directionNorthLetter=function(){return"شمال"},c.directionSouthLetter=function(){return"جنوب"},c.directionEastLetter=function(){return"شرق"},c.directionWestLetter=function(){return"غرب"},c.end=function(){return"پایان"},c.emptyBlocksErrorMsg=function(){return'بلوک های "تکرار" (Repeat) یا "شرطی" (If) برای کار کردن، نیاز به بلوکهای دیگری در داخل خود دارند. مطمئن شوید که بلوک داخلی، به درستی درون بلوک اصلی قرار گرفته است.'},c.emptyFunctionBlocksErrorMsg=function(){return"بلوک تابع برای به کار افتادن نیاز دارد، که بلوک های دیگری در داخل خود داشته باشد."},c.extraTopBlocks=function(){return"شما بلوک های اضافه ای دارید که به یک بلوک رویداد متصل نیست."},c.finalStage=function(){return"تبریک می‌گوییم! شما مرحله‌ی نهایی را به پایان رساندید."},c.finalStageTrophies=function(a){return"تبریک می‌گوییم! شما مرحله‌ی آخر را به پایان رساندید و برنده‌ی "+p(a,"numTrophies",0,"fa",{one:"یک جایزه",other:n(a,"numTrophies")+" جایزه"})+" شدید."},c.finish=function(){return"پایان"},c.generatedCodeInfo=function(a){return"دانشگاههای برتر نیز کدنویسی بر اساس بلوک ها را آموزش می دهند (مثل "+v(a,"berkeleyLink")+" و "+v(a,"harvardLink")+"). اما در پشت پرده، بلوک هایی که شما سر هم کرده اید را می توان به زبان جاوا اسکریپت نشان داد، که پر استفاده ترین زبان کدنویسی در دنیاست:"},c.hashError=function(){return"با عرض پوزش، '%1' با هیچ کدام از برنامه‌های ذخیره شده مطابقت ندارد."},c.help=function(){return"راهنما"},c.hintTitle=function(){return"راهنمایی:"},c.jump=function(){return"پرش"},c.levelIncompleteError=function(){return"شما همه‌ی بلوک‌های مورد نیاز را بکار بردید، ولی نه به روش درست."},c.listVariable=function(){return"لیست"},c.makeYourOwnFlappy=function(){return"Flappy Bird خودتان را بسازید"},c.missingBlocksErrorMsg=function(){return"برای حل این معما، یکی یا چند تا از بلوک‌های زیر را بکار ببرید."},c.nextLevel=function(a){return"تبریک ! شما پازل "+v(a,"puzzleNumber")+" را به پایان رساندید."},c.nextLevelTrophies=function(a){return"تبریک می‌گوییم! شما معمای "+v(a,"puzzleNumber")+" را به پایان رساندید و برنده‌ی "+p(a,"numTrophies",0,"fa",{one:"یک جایزه",other:n(a,"numTrophies")+" جایزه"})+" شدید."},c.nextStage=function(a){return"تبریک! شما "+v(a,"stageName")+" را به پایان رساندید."},c.nextStageTrophies=function(a){return"تبریک! شما مرحله‌ی "+v(a,"stageName")+" را به پایان رساندید و برنده‌ی "+p(a,"numTrophies",0,"fa",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+" شدید." },c.numBlocksNeeded=function(a){return"تبریک می‌گوییم! شما معمای "+v(a,"puzzleNumber")+" را به پایان رساندید. (اگرچه می‌توانستید تنها "+p(a,"numBlocks",0,"fa",{one:"یک بلوک",other:n(a,"numBlocks")+" بلوک"})+" بکار ببرید.)"},c.numLinesOfCodeWritten=function(a){return"شما "+p(a,"numLines",0,"fa",{one:"یک خط",other:n(a,"numLines")+" خط"})+" کد نوشتید!"},c.play=function(){return"بازی"},c.puzzleTitle=function(a){return"معمای "+v(a,"puzzle_number")+" از "+v(a,"stage_total")},c.repeat=function(){return"تکرار"},c.resetProgram=function(){return"بازنشانی"},c.runProgram=function(){return"اجرا"},c.runTooltip=function(){return"اجرای برنامه‌ی تعریف شده با بلوک‌های فضای کار."},c.score=function(){return"نمره"},c.showCodeHeader=function(){return"نمایشِ کد"},c.showGeneratedCode=function(){return"نمایشِ کد"},c.subtitle=function(){return"یک محیط برنامه نویسیِ دیداری"},c.textVariable=function(){return"متن"},c.tooFewBlocksMsg=function(){return"شما همه‌ی بلوک‌های مورد نیاز را بکار بردید، ولی برای حل این معما باید تعداد بیشتری از این بلوک‌ها را بکار ببرید."},c.tooManyBlocksMsg=function(){return"این معما را می‌توان با بلوک حل کرد."},c.tooMuchWork=function(){return"شما منو مجبور به انجام مقدار زیادی کار کردید. میشه تعداد تکرار رو کمتر کنید؟"},c.toolboxHeader=function(){return"بلوک‌ها"},c.openWorkspace=function(){return"چگونگیِ کار"},c.totalNumLinesOfCodeWritten=function(a){return"در مجموع: "+p(a,"numLines",0,"fa",{one:"یک خط",other:n(a,"numLines")+" خط"})+" کد."},c.tryAgain=function(){return"دوباره تلاش کنید"},c.hintRequest=function(){return"تذکر را ببینید"},c.backToPreviousLevel=function(){return"برگرد به سطح قبلی"},c.saveToGallery=function(){return"ذخیره در گالری شما"},c.savedToGallery=function(){return"در گالری شما ذخیره شد!"},c.typeCode=function(){return"در زیر این دستورات کد جاوا اسکریپتِ خودت رو بنویس."},c.typeFuncs=function(){return"توابع قابل استفاده: %1"},c.typeHint=function(){return"توجه کن که علامت‌های پرانتز و نقطه‌ویرگول لازم هستن."},c.workspaceHeader=function(){return"بلوک‌های خودت رو اینجا سرهم کن: "},c.infinity=function(){return"بی نهایت"},c.rotateText=function(){return"بچرخان دستگاه خود را."},c.orientationLock=function(){return"حالت افقی را در تنظیمات دستگاه خاموش کنید."},c.wantToLearn=function(){return"می‌خواید کد نویسی را یاد بگیرید؟"},c.watchVideo=function(){return"ویدیو را ببینید"},c.when=function(){return"وقتی"},c.whenRun=function(){return"هنگامی که اجرا"},c.tryHOC=function(){return"ساعتِ کد نویسی را امتحان کنید"},c.signup=function(){return"برای دوره‌ی مقدماتی نام نویسی کنید"},c.hintHeader=function(){return"نکته اینجاست:"},c.genericFeedback=function(){return"ببینبد چطور تمامش کردید,و سعی به رفع مشکلات برنامه خود کنید."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.fa=function(){return"other"},c.actor=function(){return"actor"},c.catActions=function(){return"عملیات"},c.catControl=function(){return"حلقه‌ها"},c.catEvents=function(){return"رویدادها"},c.catLogic=function(){return"منطق"},c.catMath=function(){return"حساب"},c.catProcedures=function(){return"توابع"},c.catText=function(){return"متن"},c.catVariables=function(){return"متغیرها"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"ادامه"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"ایجا تایپ کن"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"تبریک میگم . معمای نهایی رو حل کردی ."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"نمره امتیاز"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"داستان خودتو بساز"},c.moveDirectionDown=function(){return"پایین"},c.moveDirectionLeft=function(){return"سمت چپ"},c.moveDirectionRight=function(){return"سمت راست"},c.moveDirectionUp=function(){return"بالا"},c.moveDirectionRandom=function(){return"تصادفی"},c.moveDistance25=function(){return"۲۰ پیکسل"},c.moveDistance50=function(){return"۵۰ پیکسل"},c.moveDistance100=function(){return"۱۰۰ پیکسل"},c.moveDistance200=function(){return"۲۰۰ پیکسل"},c.moveDistance400=function(){return"۴۰۰ پیکسل"},c.moveDistancePixels=function(){return"پیکسل"},c.moveDistanceRandom=function(){return"پیکسل های تصادفی"},c.moveDistanceTooltip=function(){return"یک بازیگر رو در جهت خاص به فاصله خاصی حرکت بده ."},c.moveSprite=function(){return"حرکت"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"برو پایین"},c.moveDownTooltip=function(){return"یک بازیگر رو پایین ببر ."},c.moveLeft=function(){return"برو به چپ"},c.moveLeftTooltip=function(){return"یک بازیگر رو به چپ ببر ."},c.moveRight=function(){return"برو به راست"},c.moveRightTooltip=function(){return"یک بازیگر رو به راست ببر ."},c.moveUp=function(){return"برو بالا"},c.moveUpTooltip=function(){return"یک بازیگر رو بالا ببر ."},c.moveTooltip=function(){return"یک بازیگر رو حرکت بده ."},c.nextLevel=function(){return"تبریک میگم . این پازل رو کامل کردید ."},c.no=function(){return"خیر"},c.numBlocksNeeded=function(){return"این پازل می تواند با 1% بلوکها حل شود."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"پخش صدای خرد شدن"},c.playSoundGoal1=function(){return"پخش صدای هدف 1"},c.playSoundGoal2=function(){return"پخش صدای هدف 2"},c.playSoundHit=function(){return"پخش صدای ضربه"},c.playSoundLosePoint=function(){return"پخش صدای از دست دادن امتیاز"},c.playSoundLosePoint2=function(){return"پخش صدای از دست دادن امتیاز 2"},c.playSoundRetro=function(){return"پخش صدای سبک قدیمی"},c.playSoundRubber=function(){return"پخش صدای کش لاستیکی"},c.playSoundSlap=function(){return"پخش صدای ضربه با دست"},c.playSoundTooltip=function(){return"صدای انتخاب شده را پخش می‌کند."},c.playSoundWinPoint=function(){return"پخش صدای کسب امتیاز"},c.playSoundWinPoint2=function(){return"پخش صدای کسب امتیاز 2"},c.playSoundWood=function(){return"پخش کردن صدای چوب"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"به موقعیت بالا سمت چپ"},c.positionTopCenter=function(){return"به موقعیت وسط در بالا"},c.positionTopRight=function(){return"به موقعیت بالا سمت راست"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"به موقعیت وسط سمت چپ"},c.positionMiddleCenter=function(){return"به موقعیت وسط"},c.positionMiddleRight=function(){return"به موقعیت وسط سمت راست"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"به موقعیت پایین سمت چپ"},c.positionBottomCenter=function(){return"به موقعیت وسط در پایین"},c.positionBottomRight=function(){return"به موقعیت پایین سمت راست"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"به موقعیت تصادفی"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"تصادفی"},c.reinfFeedbackMsg=function(){return'شما می توانید دکمه "دوباره امتحان کنید" را بفشارید تا به بازیتان برگردید.'},c.repeatForever=function(){return"تکرار بی‌پایان"},c.repeatDo=function(){return"انجام دادن"},c.repeatForeverTooltip=function(){return"اجرای عملیات داخل این بلوک بطور مکرر تا زمانی که داستان ادامه دارد."},c.saySprite=function(){return"گفتن"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"نمایش یک بیان صحبت با متن مربوطه از طرف بازیگر مشخص شده."},c.scoreText=function(a){return"امتیاز: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"قراردادن زمینه تصادفی"},c.setBackgroundBlack=function(){return"قراردادن زمینه سیاه"},c.setBackgroundCave=function(){return"قراردادن زمینه غار"},c.setBackgroundCloudy=function(){return"قراردادن زمینه ابری"},c.setBackgroundHardcourt=function(){return"قراردادن زمینه زمخت"},c.setBackgroundNight=function(){return"قراردادن زمینه شب"},c.setBackgroundUnderwater=function(){return"قراردادن زمینه زیرآبی"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"تعیین تصویر پس‌زمینه"},c.setScoreText=function(){return"تنظیم امتیاز"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"به یک تصویر مخفی"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"به یک تصویر تصادفی"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"به تصویر جادوگر"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"بلافاصله بازیگر را به موقعیت مشخص شده حرکت می‌دهد."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"تعیین تصویر بازیگر"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"به یک سرعت تصادفی"},c.setSpriteSpeedVerySlow=function(){return"به سرعت خیلی آهسته"},c.setSpriteSpeedSlow=function(){return"به سرعت آهسته"},c.setSpriteSpeedNormal=function(){return"به سرعت معمولی"},c.setSpriteSpeedFast=function(){return"به سرعت سریع"},c.setSpriteSpeedVeryFast=function(){return"به سرعت خیلی سریع"},c.setSpriteSpeedTooltip=function(){return"تعیین سرعت یک بازیگر"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"داستانی که ساخته‌ام را ببین. من خودم آن را با @codeorg نوشته‌ام"},c.shareGame=function(){return"داستانت را به اشتراک بگذار:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"متن"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"مجموعه"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"اجرای عملیات زیر هنگام کلیک روی یک بازیگر."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"اجرای عملیات زیر هنگامیکه یک بازیگر به بازیگر دیگری می‌زسد."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"هنگام زدن جهت بالا"},c.whenUpTooltip=function(){return"اجرای عملیات زیر هنگامیکه کلید جهت بالا زده می‌شود."},c.yes=function(){return"بله"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j]; if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/fi_fi/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/fi_fi/common":40,"../../locale/fi_fi/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fi_fi/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fi_fi/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/fi_fi/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/fi_fi/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/fi_fi/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fi_fi/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fi_fi/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fi_fi/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/fi_fi/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fi_fi/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fi_fi/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fi_fi/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.fi=function(a){return 1===a?"one":"other"},c.and=function(){return"ja"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Toiminnot"},c.catColour=function(){return"Väri"},c.catLogic=function(){return"Logiikka"},c.catLists=function(){return"Listat"},c.catLoops=function(){return"Silmukat"},c.catMath=function(){return"Matematiikka"},c.catProcedures=function(){return"Funktiot"},c.catText=function(){return"Teksti"},c.catVariables=function(){return"Muuttujat"},c.codeTooltip=function(){return"Näytä tuotettu JavaScript-koodi."},c.continue=function(){return"Jatka"},c.dialogCancel=function(){return"Peru"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"P"},c.directionSouthLetter=function(){return"E"},c.directionEastLetter=function(){return"I"},c.directionWestLetter=function(){return"L"},c.end=function(){return"loppu"},c.emptyBlocksErrorMsg=function(){return'"Toista" ja "Jos"-lohkot tarvitsevat toisen lohkon sisäänsä toimiakseen. Varmista, että sisempi lohko asettuu oikein ulompaan lohkoon.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Sinulla on ylimääräisiä lohkoja, joita ei ole kytketty tapahtumalohkoon."},c.finalStage=function(){return"Onneksi olkoon! Olet suorittanut viimeisen vaiheen."},c.finalStageTrophies=function(a){return"Onneksi olkoon! Olet suorittanut viimeisen vaiheen ja voittanut "+p(a,"numTrophies",0,"fi",{one:"pokaalin",other:n(a,"numTrophies")+" pokaalia"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Jopa huippuyliopistot opettavat lohkopohjaista ohjelmointia (esim., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"), mutta konepellin alla kokoamasi lohkot voidaan näyttää myös esim. JavaScript-kielellä. JavaScript on maailman eniten käytetty ohjelmointikieli:"},c.hashError=function(){return"Valitan, '%1' ei vastaa mitään tallennettua ohjelmaa."},c.help=function(){return"Ohje"},c.hintTitle=function(){return"Vihje:"},c.jump=function(){return"hyppää"},c.levelIncompleteError=function(){return"Käytät kaikkia oikeanlaisia lohkoja, mutta et oikella tavalla."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Tee oma Läpytin -pelisi"},c.missingBlocksErrorMsg=function(){return"Yritä ratkaista pulma yhdellä tai useammalla alla olevalla lohkolla."},c.nextLevel=function(a){return"Onneksi olkoon! Olet suorittanut "+v(a,"puzzleNumber")+". pulman."},c.nextLevelTrophies=function(a){return"Onneksi olkoon! Olet suorittanut "+v(a,"puzzleNumber")+". pulman ja voittanut "+p(a,"numTrophies",0,"fi",{one:"pokaalin",other:n(a,"numTrophies")+" pokaalia"})+"."},c.nextStage=function(a){return"Onnittelut! Olet suorittanut "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Onnittelut! Olet suorittanut "+v(a,"stageName")+" ja voitit "+p(a,"numTrophies",0,"fi",{one:"pokaalin",other:n(a,"numTrophies")+" pokaalia"})+"." },c.numBlocksNeeded=function(a){return"Onneksi olkoon! Olet suorittanut "+v(a,"puzzleNumber")+". pulman (olisit tosin voinut käyttää vain "+p(a,"numBlocks",0,"fi",{one:"yhden lohkon",other:n(a,"numBlocks")+" lohkoa"})+")."},c.numLinesOfCodeWritten=function(a){return"Kirjoitit juuri "+p(a,"numLines",0,"fi",{one:"yhden rivin",other:n(a,"numLines")+" riviä"})+" koodia!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Pulma "+v(a,"puzzle_number")+" / "+v(a,"stage_total")},c.repeat=function(){return"toista"},c.resetProgram=function(){return"Alusta"},c.runProgram=function(){return"Suorita"},c.runTooltip=function(){return"Suorittaa työtilassa olevien lohkojen määrittämän ohjelman."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Näytä koodi"},c.showGeneratedCode=function(){return"Näytä koodi"},c.subtitle=function(){return"visuaalinen ohjelmointiympäristö"},c.textVariable=function(){return"teksti"},c.tooFewBlocksMsg=function(){return"Käytät kyllä kaikkia oikeanlaisia lohkoja, mutta yritä käyttää niitä lisää, jotta saat pulman ratkaistua."},c.tooManyBlocksMsg=function(){return"Tämän pulman voi ratkaista lohkolla."},c.tooMuchWork=function(){return"Sait minut tekemään paljon töitä! Voisitko kokeilla samaa vähemmillä toistoilla?"},c.toolboxHeader=function(){return"Lohkot"},c.openWorkspace=function(){return"Miten se toimii"},c.totalNumLinesOfCodeWritten=function(a){return"Kokonaismäärä: "+p(a,"numLines",0,"fi",{one:"yksi rivi",other:n(a,"numLines")+" riviä"})+" koodia."},c.tryAgain=function(){return"Yritä uudestaan"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Takaisin edelliseen tasoon"},c.saveToGallery=function(){return"Tallenna galleriaasi"},c.savedToGallery=function(){return"Tallennettu galleriaasi!"},c.typeCode=function(){return"Kirjoita JavaScript-koodisi näiden ohjeiden alle."},c.typeFuncs=function(){return"Käytettävissä olevat funktiot: %1"},c.typeHint=function(){return"Sulkeet ja puolipisteet ovat pakollisia."},c.workspaceHeader=function(){return"Kokoa lohkosi täällä: "},c.infinity=function(){return"Ääretön"},c.rotateText=function(){return"Käännä laitettasi."},c.orientationLock=function(){return"Poista laitteesi asentolukko."},c.wantToLearn=function(){return"Haluatko oppia koodaamaan?"},c.watchVideo=function(){return"Katso Video"},c.when=function(){return"kun"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Kokeile koodaustuntia"},c.signup=function(){return"Rekisteröidy johdantokurssille"},c.hintHeader=function(){return"Tässä on Vihje:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.fi=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Toiminnot"},c.catControl=function(){return"Silmukat"},c.catEvents=function(){return"Tapahtumat"},c.catLogic=function(){return"Logiikka"},c.catMath=function(){return"Matematiikka"},c.catProcedures=function(){return"Funktiot"},c.catText=function(){return"Teksti"},c.catVariables=function(){return"Muuttujat"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Jatka"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"kirjoita tähän"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Onneksi olkoon! Olet suorittanut viimeisen pulman."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"kadota"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Tee oma tarinasi"},c.moveDirectionDown=function(){return"alas"},c.moveDirectionLeft=function(){return"vasemmalle"},c.moveDirectionRight=function(){return"oikealle"},c.moveDirectionUp=function(){return"ylös"},c.moveDirectionRandom=function(){return"satunnainen"},c.moveDistance25=function(){return"25 pikseliä"},c.moveDistance50=function(){return"50 pikseliä"},c.moveDistance100=function(){return"100 pikseliä"},c.moveDistance200=function(){return"200 pikseliä"},c.moveDistance400=function(){return"400 pikseliä"},c.moveDistancePixels=function(){return"pikseliä"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"siirrä"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"siirrä alas"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"siirrä vasemmalle"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"siirrä oikealle"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"siirrä ylös"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Onneksi olkoon! Olet suorittanut tämän pulman."},c.no=function(){return"Ei"},c.numBlocksNeeded=function(){return"Pulman voi ratkaista %1 lohkolla."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"satunnainen"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"tee"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Pisteet: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Aseta taustakuva"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"teksti"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"aseta"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Kyllä"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||""; var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/fil_ph/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/fil_ph/common":40,"../../locale/fil_ph/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fil_ph/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fil_ph/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/fil_ph/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/fil_ph/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/fil_ph/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fil_ph/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fil_ph/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fil_ph/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/fil_ph/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fil_ph/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fil_ph/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fil_ph/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.fil=function(a){return 0===a||1==a?"one":"other"},c.and=function(){return"at"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Mga aksyon"},c.catColour=function(){return"Kulay"},c.catLogic=function(){return"Lohika"},c.catLists=function(){return"Mga listahan"},c.catLoops=function(){return"Mga loop"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Mga function"},c.catText=function(){return"Text"},c.catVariables=function(){return"Mga variable"},c.codeTooltip=function(){return"Tingnan ang nabuo na JavaScripy code."},c.continue=function(){return"Magpatuloy"},c.dialogCancel=function(){return"Kanselahin"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'Ang "Repeat" o "if" block ay kailangan ng iba pang mga block sa loob nito upang gumana. Siguraduhin na ang block na asa loob ay nakasukat ng maayos sa loob ng naglalaman na block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Meron kang extra na mga block na hindi nakasama sa event block."},c.finalStage=function(){return"Maligayang pagbati! Natapos mo na ang pinakahuling stage."},c.finalStageTrophies=function(a){return"Maligayang pagbati! Nakumpleto mo na ang pinakahuling stage at nanalo ng "+p(a,"numTrophies",0,"fil",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Kahit ang mga nangungunang mga unibersidad ay nagtuturo ng block-based na coding (eg, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Ngunit sa ilalim nito, ang mga bloke na iyong binuo ay maaari ring ipakita sa JavaScript, pinaka-tinatanggap na mga wika coding ng mundo:"},c.hashError=function(){return"Pasensya, '%1' ay walang katumbas sa mga na save na program."},c.help=function(){return"Tulong"},c.hintTitle=function(){return"Pahiwatig:"},c.jump=function(){return"talon"},c.levelIncompleteError=function(){return"Ginagamit mo ang lahat ng kinakailangang mga uri ng mga bloke ngunit hindi sa tamang paraan."},c.listVariable=function(){return"list"},c.makeYourOwnFlappy=function(){return"Gumawa Ng Sarili Mong Flappy Game"},c.missingBlocksErrorMsg=function(){return"Subukan ang isa o higit pa sa mga bloke sa ibaba upang malutas itong palaisipan."},c.nextLevel=function(a){return"Maligayang bati! Natapos mo ang Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Maligayang bati! Nakumpleto mo ang Puzzle "+v(a,"puzzleNumber")+" at nanalo ng "+p(a,"numTrophies",0,"fil",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.nextStage=function(a){return"Maligayang bati! Nakumpleto mo ang "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Maligayang bati! Natapos mo ang "+v(a,"stageName")+" at nanalo ng "+p(a,"numTrophies",0,"fil",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Maligayang bati! Nakumpleto mo ang Puzzle "+v(a,"puzzleNumber")+". (Subalit, maaari mo sanang gamitin lamang ang "+p(a,"numBlocks",0,"fil",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"fil",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" ng "+v(a,"stage_total")},c.repeat=function(){return"ulitin"},c.resetProgram=function(){return"Ulitin"},c.runProgram=function(){return"Patakbuhin"},c.runTooltip=function(){return"Patakbuhin ang program na tinutukoy ng mga block sa workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Ipakita ang Code"},c.showGeneratedCode=function(){return"Ipakita ang Code"},c.subtitle=function(){return"isang visual programming na environment"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"Ginagamit mo ang lahat na posibleng klase ng bloke, ngunit subukan mong gamitin ang iba pang mga uri ng mga block upang makumpleto ang puzzle na ito."},c.tooManyBlocksMsg=function(){return"Ang puzzle na ito ay maaaring malutas gamit ang na mga block."},c.tooMuchWork=function(){return"Pinagawa mo ako ng naparaming trabaho! Maaari mo ba na ulitin ng mas kaunting mga beses?"},c.toolboxHeader=function(){return"Mga block"},c.openWorkspace=function(){return"Kung Paano Ito Gumagana"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"fil",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Subukang muli"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Bumalik sa nakaraang level"},c.saveToGallery=function(){return"I-save sa iyong gallery"},c.savedToGallery=function(){return"I-save sa iyong gallery!"},c.typeCode=function(){return"I-type ang iyong JavaScript code pagkatapos nitong mga instruction."},c.typeFuncs=function(){return"Magagamit na mga function:%1"},c.typeHint=function(){return"Tandaan na ang mga panaklong at semicolons ay kinakailangan."},c.workspaceHeader=function(){return"I-assemble ang iyong mga bloke dito: "},c.infinity=function(){return"Walang katapusan"},c.rotateText=function(){return"Paikutin ang iyong device."},c.orientationLock=function(){return"I-off ang orientation ng lock sa mga setting ng device."},c.wantToLearn=function(){return"Gusto mo matuto mag-code?"},c.watchVideo=function(){return"Panoorin ang Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Subukan ang Hour of Code"},c.signup=function(){return"Mag-sign up para sa intro ng kurso"},c.hintHeader=function(){return"Narito ang isang tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.fil=function(a){return 0===a||1==a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Mga aksyon"},c.catControl=function(){return"Mga loop"},c.catEvents=function(){return"Mga event"},c.catLogic=function(){return"Lohika"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Mga function"},c.catText=function(){return"Text"},c.catVariables=function(){return"Mga variable"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Magpatuloy"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"mag-type dito"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Maligayang pagbati! Nalutas mo na ang pinakahuling puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"iskor puntos ng manlalaro"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Gumawa Ng Sarili Mong Kuwento"},c.moveDirectionDown=function(){return"baba"},c.moveDirectionLeft=function(){return"kaliwa"},c.moveDirectionRight=function(){return"kanan"},c.moveDirectionUp=function(){return"taas"},c.moveDirectionRandom=function(){return"nang hindi pinipili"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random na mga pixel"},c.moveDistanceTooltip=function(){return"Igalaw ang aktor sa partikular na distansya sa tinukoy na direksyon."},c.moveSprite=function(){return"galaw"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"igalaw pababa"},c.moveDownTooltip=function(){return"Igalaw ang aktor pababa."},c.moveLeft=function(){return"igalaw pakaliwa"},c.moveLeftTooltip=function(){return"Igalaw ang aktor pakaliwa."},c.moveRight=function(){return"igalaw pakanan"},c.moveRightTooltip=function(){return"Igalaw ang aktor pakanan."},c.moveUp=function(){return"igalaw pataas"},c.moveUpTooltip=function(){return"Igalaw ang aktor pataas."},c.moveTooltip=function(){return"Igalaw ang aktor."},c.nextLevel=function(){return"Maligayang pagbati! Natapos mo ang puzzle na ito."},c.no=function(){return"Hindi"},c.numBlocksNeeded=function(){return"Ang puzzle na ito ay maaaring malutas sa %1 na mga block."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"magpatugtog ng crunch na tunog"},c.playSoundGoal1=function(){return"patugtugin ang goal 1 na tunog"},c.playSoundGoal2=function(){return"patugtugin ang goal 2 na tunog"},c.playSoundHit=function(){return"patugtugin ang hit na tunog"},c.playSoundLosePoint=function(){return"patugtugin ang lose point na tunog"},c.playSoundLosePoint2=function(){return"patugtugin ang lose point 2 na tunog"},c.playSoundRetro=function(){return"pagtugtugin ang retro na tunog"},c.playSoundRubber=function(){return"patugtugin ang rubber na tunog"},c.playSoundSlap=function(){return"patugtugin ang slap na tunog"},c.playSoundTooltip=function(){return"Magpatugtog ng napiling tunog."},c.playSoundWinPoint=function(){return"patugtugin ang win point na tunog"},c.playSoundWinPoint2=function(){return"patugtugin ang win point 2 na tunog"},c.playSoundWood=function(){return"patugtugin ang wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"sa kaliwang tuktok na posisyon"},c.positionTopCenter=function(){return"sa gitnang tuktok na posisyon"},c.positionTopRight=function(){return"sa kanang tuktok na posisyon"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"sa gitnang kaliwa na posisyon"},c.positionMiddleCenter=function(){return"sa gitnang posisyon"},c.positionMiddleRight=function(){return"sa gitnang kanan na posisyon"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"sa kaliwang ibaba na posisyon"},c.positionBottomCenter=function(){return"sa kanang ibaba na posisyon"},c.positionBottomRight=function(){return"sa kanang ibaba na posisyon"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"sa random na posisyon"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"nang hindi pinipili"},c.reinfFeedbackMsg=function(){return'Maaarin mo pindutin ang "Subukan muli" na button upang bumalik sa paglalaro.'},c.repeatForever=function(){return"ulitin ng walang katapusan"},c.repeatDo=function(){return"gawin"},c.repeatForeverTooltip=function(){return"Ipatupad ang mga aksyon sa block na ito ng paulit-ulit habang ang kuwento ay tumatakbo."},c.saySprite=function(){return"sabihin"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Magpakita ng speech bubble ng mga nauugnay na teksto mula sa tinukoy na aktor."},c.scoreText=function(a){return"Puntos: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"i-set ang random na background"},c.setBackgroundBlack=function(){return"i-set ang itim na background"},c.setBackgroundCave=function(){return"i-set ang kuweba na background"},c.setBackgroundCloudy=function(){return"i-set ang maulap na background"},c.setBackgroundHardcourt=function(){return"i-set ang hardcourt na background"},c.setBackgroundNight=function(){return"i-set ang gabi na background"},c.setBackgroundUnderwater=function(){return"i-set ang sa ilalim ng dagat na background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Nilalagay ang larawan sa background"},c.setScoreText=function(){return"ilagay ang puntos"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"sa isang galit na damdamin"},c.setSpriteEmotionHappy=function(){return"sa isang masaya na damdamin"},c.setSpriteEmotionNormal=function(){return"sa isang normal na damdamin"},c.setSpriteEmotionRandom=function(){return"sa isang random na damdamin"},c.setSpriteEmotionSad=function(){return"sa isang malungkot na damdamin"},c.setSpriteEmotionTooltip=function(){return"Itinatakda ang damdamin ng aktor"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"sa isang nakatago na imahe"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"sa isang random na imahe"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"sa isang witch na imahe"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Agad na naglilipat ng isang aktor sa tinukoy na lokasyon."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"I-set ang imahe ng aktor"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"sa random na bilis"},c.setSpriteSpeedVerySlow=function(){return"sa napakabagal na bilis"},c.setSpriteSpeedSlow=function(){return"sa mabagal na bilis"},c.setSpriteSpeedNormal=function(){return"sa normal na bilis"},c.setSpriteSpeedFast=function(){return"sa napakabilis"},c.setSpriteSpeedVeryFast=function(){return"sa pinakamabilis"},c.setSpriteSpeedTooltip=function(){return"Sini-set ang bilis ng aktor"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Tingnan ang kuwento na ginawa ko. Ako mismo ang nagsulat nito sa @codeorg"},c.shareGame=function(){return"Ibahagi ang iyong kuwento:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"set"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"hinto"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Itigil ang ginagawa ng aktor."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"maghintay sa click"},c.waitForRandom=function(){return"maghintay sa random"},c.waitForHalfSecond=function(){return"maghintay ng kalahating segundo"},c.waitFor1Second=function(){return"maghintay ng 1 segundo"},c.waitFor2Seconds=function(){return"maghintay ng 2 segundo"},c.waitFor5Seconds=function(){return"maghintay ng 5 segundo"},c.waitFor10Seconds=function(){return"maghintay ng 10 segundo"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Maghintay ng tinakdang oras o kaya hanggang meron click na maganap."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"kapag ang pababang arrow"},c.whenDownTooltip=function(){return"Ipatupad ang mga aksyon sa ibaba kapag ang pataas na arrow key ay pinindot."},c.whenGameStarts=function(){return"kapag nagsimula ang kuwento"},c.whenGameStartsTooltip=function(){return"Ipatupad ang mga aksyon sa ibaba kapag nagsimula ang kuwento."},c.whenLeft=function(){return"kapag ang kaliwa na arrow"},c.whenLeftTooltip=function(){return"Ipatupad ang mga aksyon sa ibaba kapag ang pataas na arrow key ay pinindot."},c.whenRight=function(){return"kapag ang kanan na arrow"},c.whenRightTooltip=function(){return"Ipatupad ang mga aksyon sa ibaba kapag ang pataas na arrow key ay pinindot."},c.whenSpriteClicked=function(){return"kapag ang aktor ay na-click"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Ipatupad ang mga aksyon sa ibaba kapag ang isang artista ay na-click."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Ipatupad ang mga aksyon sa ibaba kapag ang isang aktor ay hinawakan ang isa pang aktor."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"kapag ang pataas na arrow"},c.whenUpTooltip=function(){return"Ipatupad ang mga aksyon sa ibaba kapag ang pataas na arrow key ay pinindot."},c.yes=function(){return"Oo"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/fr_fr/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/fr_fr/common":40,"../../locale/fr_fr/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fr_fr/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fr_fr/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/fr_fr/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/fr_fr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/fr_fr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fr_fr/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fr_fr/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fr_fr/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/fr_fr/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fr_fr/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/fr_fr/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/fr_fr/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.fr=function(a){return 0===a||1==a?"one":"other"},c.and=function(){return"et"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Actions"},c.catColour=function(){return"Couleur"},c.catLogic=function(){return"Logique"},c.catLists=function(){return"Listes"},c.catLoops=function(){return"Boucles"},c.catMath=function(){return"Calculs"},c.catProcedures=function(){return"Fonctions"},c.catText=function(){return"Texte"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"Voir le code JavaScript généré."},c.continue=function(){return"Continuer"},c.dialogCancel=function(){return"Annuler"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"O"},c.end=function(){return"fin"},c.emptyBlocksErrorMsg=function(){return"Le bloc « Répéter » ou « si » doit contenir d'autres blocs pour fonctionner. Assurez-vous que le bloc interne s'insère correctement à l'intérieur du bloc conteneur."},c.emptyFunctionBlocksErrorMsg=function(){return"Le bloc fonctionnel doit avoir d'autres blocs à l'intérieur pour fonctionner."},c.extraTopBlocks=function(){return"Vous avez disposé des blocs qui ne sont rattachés à aucun bloc d'évènement."},c.finalStage=function(){return"Félicitations ! Vous avez terminé l'étape finale."},c.finalStageTrophies=function(a){return"Félicitations ! Vous avez terminé l'étape finale et gagné "+p(a,"numTrophies",0,"fr",{one:"un trophée",other:n(a,"numTrophies")+" trophées"})+"."},c.finish=function(){return"Terminer"},c.generatedCodeInfo=function(a){return"Même les plus grandes universités enseignent la programmation basée sur les blocs (ex., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Mais en prenant du recul, les blocs que vous avez assemblés peuvent aussi être affichés en Javascript, le langage de programmation le plus utilisé au monde :"},c.hashError=function(){return"Désolé, '%1' ne correspond à aucun programme enregistré."},c.help=function(){return"Aide"},c.hintTitle=function(){return"Indice :"},c.jump=function(){return"saut"},c.levelIncompleteError=function(){return"Vous utilisez tous les types nécessaires de blocs, mais pas de la bonne manière."},c.listVariable=function(){return"liste"},c.makeYourOwnFlappy=function(){return"Réalisez votre propre Flappy Bird"},c.missingBlocksErrorMsg=function(){return"Essayez un ou plusieurs des blocs ci-dessous pour résoudre ce puzzle."},c.nextLevel=function(a){return"Félicitations ! Vous avez terminé le Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Félicitations ! Vous avez terminé le Puzzle "+v(a,"puzzleNumber")+" et gagné "+p(a,"numTrophies",0,"fr",{one:"un trophée",other:n(a,"numTrophies")+" trophées"})+"." },c.nextStage=function(a){return"Félicitations ! Vous avez terminé "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Félicitations ! Vous avez terminé "+v(a,"stageName")+" et gagné "+p(a,"numTrophies",0,"fr",{one:"un trophée",other:n(a,"numTrophies")+" trophées"})+"."},c.numBlocksNeeded=function(a){return"Félicitations ! Vous avez terminé le Puzzle "+v(a,"puzzleNumber")+". (Toutefois, vous auriez pu utiliser seulement "+p(a,"numBlocks",0,"fr",{one:"1 bloc",other:n(a,"numBlocks")+" blocs"})+".)"},c.numLinesOfCodeWritten=function(a){return"Vous venez d'écrire "+p(a,"numLines",0,"fr",{one:"1 ligne",other:n(a,"numLines")+" lignes "})+" de code!"},c.play=function(){return"jouer"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" sur "+v(a,"stage_total")},c.repeat=function(){return"répéter"},c.resetProgram=function(){return"Réinitialiser"},c.runProgram=function(){return"Démarrer"},c.runTooltip=function(){return"Exécuter le programme défini par les blocs dans l'espace de travail."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Afficher le Code"},c.showGeneratedCode=function(){return"Afficher le code"},c.subtitle=function(){return"un environnement visuel de programmation"},c.textVariable=function(){return"texte"},c.tooFewBlocksMsg=function(){return"Vous utilisez tous les types des blocs nécessaires, mais essayez d'utiliser plus de ces types de blocs pour compléter ce puzzle."},c.tooManyBlocksMsg=function(){return"Ce puzzle peut être résolu avec blocs."},c.tooMuchWork=function(){return"Vous m'avez fait faire beaucoup de travail ! Pourriez-vous essayer en répétant moins de fois ?"},c.toolboxHeader=function(){return"Blocs"},c.openWorkspace=function(){return"Comment ça marche"},c.totalNumLinesOfCodeWritten=function(a){return"Production totale : "+p(a,"numLines",0,"fr",{one:"1 ligne",other:n(a,"numLines")+" lignes"})+" de code."},c.tryAgain=function(){return"Réessayer"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Retour au niveau précédent"},c.saveToGallery=function(){return"Enregistrer dans votre galerie"},c.savedToGallery=function(){return"Enregistré dans votre galerie !"},c.typeCode=function(){return"Tapez votre code JavaScript en dessous de ces instructions."},c.typeFuncs=function(){return"Fonctions disponibles:%1"},c.typeHint=function(){return"Notez que les parenthèses et les point-virgules sont nécessaires."},c.workspaceHeader=function(){return"Assemblez vos blocs ici : "},c.infinity=function(){return"Infini"},c.rotateText=function(){return"Tournez votre appareil."},c.orientationLock=function(){return"Désactivez le verrouillage de l'orientation dans les réglages de votre appareil."},c.wantToLearn=function(){return"Vous souhaitez apprendre à coder ?"},c.watchVideo=function(){return"Voir la vidéo"},c.when=function(){return"lors"},c.whenRun=function(){return"lors du lancement"},c.tryHOC=function(){return"Essayez l'Heure de Code"},c.signup=function(){return"Inscrivez-vous au cours d'introduction"},c.hintHeader=function(){return"Voici une astuce :"},c.genericFeedback=function(){return"Observez le résultat et essayez de corriger les erreurs."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.fr=function(a){return 0===a||1==a?"one":"other"},c.actor=function(){return"acteur"},c.catActions=function(){return"Actions"},c.catControl=function(){return"Boucles"},c.catEvents=function(){return"Événements"},c.catLogic=function(){return"Logique"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Fonctions"},c.catText=function(){return"Texte"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Ajouter ou enlever un point au score."},c.changeScoreTooltipK1=function(){return"Ajouter un point au score."},c.continue=function(){return"Continuer"},c.decrementPlayerScore=function(){return"supprimer le point"},c.defaultSayText=function(){return"Tapez ici"},c.emotion=function(){return"humeur"},c.finalLevel=function(){return"Félicitations ! Vous avez résolu la dernière énigme."},c.hello=function(){return"salut"},c.helloWorld=function(){return"Bonjour tout le monde!"},c.incrementPlayerScore=function(){return"marquer un point"},c.makeProjectileDisappear=function(){return"disparaître"},c.makeProjectileBounce=function(){return"rebondir"},c.makeProjectileBlueFireball=function(){return"fabriquer une boule de feu bleue"},c.makeProjectilePurpleFireball=function(){return"fabriquer une boule de feu violette"},c.makeProjectileRedFireball=function(){return"fabriquer une boule de feu rouge"},c.makeProjectileYellowHearts=function(){return"fabriquer des coeurs jaunes"},c.makeProjectilePurpleHearts=function(){return"fabriquer des coeurs violets"},c.makeProjectileRedHearts=function(){return"fabriquer des coeurs violets"},c.makeProjectileTooltip=function(){return"Faire disparaitre ou rebondir le projectile qui heurte une surface ."},c.makeYourOwn=function(){return"Créez votre propre histoire"},c.moveDirectionDown=function(){return"vers le bas"},c.moveDirectionLeft=function(){return"gauche"},c.moveDirectionRight=function(){return"droite"},c.moveDirectionUp=function(){return"vers le haut"},c.moveDirectionRandom=function(){return"aléatoire"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"pixels aléatoires"},c.moveDistanceTooltip=function(){return"Déplacer un acteur sur une certaine distance dans la direction spécifiée."},c.moveSprite=function(){return"déplacer"},c.moveSpriteN=function(a){return"déplacer l'acteur "+v(a,"spriteIndex")},c.moveDown=function(){return"déplacer vers le bas"},c.moveDownTooltip=function(){return"Déplacer un acteur vers le bas."},c.moveLeft=function(){return"déplacer vers la gauche"},c.moveLeftTooltip=function(){return"Déplacer un acteur vers la gauche."},c.moveRight=function(){return"déplacer vers la droite"},c.moveRightTooltip=function(){return"Déplacer un acteur vers la droite."},c.moveUp=function(){return"déplacer vers le haut"},c.moveUpTooltip=function(){return"Déplacer un acteur vers le haut."},c.moveTooltip=function(){return"Déplacer un acteur."},c.nextLevel=function(){return"Félicitations ! Vous avez terminé cette énigme."},c.no=function(){return"Non"},c.numBlocksNeeded=function(){return"Cette énigme peut être résolue avec %1 blocs."},c.ouchExclamation=function(){return"Aïe !"},c.playSoundCrunch=function(){return"jouer le son Croquement"},c.playSoundGoal1=function(){return"jouer le son but 1"},c.playSoundGoal2=function(){return"jouer le son but 2"},c.playSoundHit=function(){return"jouer le son coup"},c.playSoundLosePoint=function(){return"jour le son perdre un point"},c.playSoundLosePoint2=function(){return"jour le son perdre un point 2"},c.playSoundRetro=function(){return"jouer un son rétro"},c.playSoundRubber=function(){return"jouer un son caoutchouc"},c.playSoundSlap=function(){return"jouer un son claque"},c.playSoundTooltip=function(){return"Jouer le son choisi."},c.playSoundWinPoint=function(){return"jouer le son gagner un point"},c.playSoundWinPoint2=function(){return"jouer le son gagner un point 2"},c.playSoundWood=function(){return"jouer un son de bois"},c.positionOutTopLeft=function(){return"à la position en haut à gauche"},c.positionOutTopRight=function(){return"à la position en haut à droite"},c.positionTopOutLeft=function(){return"vers le haut extérieur gauche"},c.positionTopLeft=function(){return"à la position en haut à gauche"},c.positionTopCenter=function(){return"à la position en haut au centre"},c.positionTopRight=function(){return"à la position en haut à droite"},c.positionTopOutRight=function(){return"vers le haut extérieur droit"},c.positionMiddleLeft=function(){return"à la position au milieu gauche"},c.positionMiddleCenter=function(){return"à la position au centre au milieu "},c.positionMiddleRight=function(){return"à la position au milieu à droite"},c.positionBottomOutLeft=function(){return"vers le bas extérieur gauche"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"vers une position aléatoire"},c.projectileBlueFireball=function(){return"boule de feu bleue"},c.projectilePurpleFireball=function(){return"boule de feu violette"},c.projectileRedFireball=function(){return"boule de feu rouge"},c.projectileYellowHearts=function(){return"coeurs jaunes"},c.projectilePurpleHearts=function(){return"coeurs violets"},c.projectileRedHearts=function(){return"coeurs rouges"},c.projectileRandom=function(){return"aléatoire"},c.reinfFeedbackMsg=function(){return"Vous pouvez cliquer sur le bouton « Réessayer » pour revenir à votre partie."},c.repeatForever=function(){return"répéter à l'infini"},c.repeatDo=function(){return"faire"},c.repeatForeverTooltip=function(){return"Exécuter les actions dans ce bloc à plusieurs reprises pendant que l'histoire est en marche."},c.saySprite=function(){return"dire"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score : "+v(a,"playerScore")},c.setBackground=function(){return"définir l'arrière-plan"},c.setBackgroundRandom=function(){return"définir un arrière-plan aléatoire"},c.setBackgroundBlack=function(){return"définir l'arrière-plan noir"},c.setBackgroundCave=function(){return"définir l'arrière-plan Caverne"},c.setBackgroundCloudy=function(){return"définir l'arrière-plan Nuageux"},c.setBackgroundHardcourt=function(){return"définir l'arrière-plan Terrain"},c.setBackgroundNight=function(){return"définir l'arrière-plan Nuit"},c.setBackgroundUnderwater=function(){return"définir l'arrière-plan Sous-marin"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Définit l'image d'arrière-plan"},c.setScoreText=function(){return"mettre le score à"},c.setScoreTextTooltip=function(){return"définit le texte à afficher dans la zone de score."},c.setSpriteEmotionAngry=function(){return"de mauvaise humeur"},c.setSpriteEmotionHappy=function(){return"de bonne humeur"},c.setSpriteEmotionNormal=function(){return"d'humeur normal"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"à une vitesse aléatoire"},c.setSpriteSpeedVerySlow=function(){return"à une vitesse très lente"},c.setSpriteSpeedSlow=function(){return"à une vitesse lente"},c.setSpriteSpeedNormal=function(){return"à une vitesse normale"},c.setSpriteSpeedFast=function(){return"à une vitesse rapide"},c.setSpriteSpeedVeryFast=function(){return"à une vitesse très rapide"},c.setSpriteSpeedTooltip=function(){return"Définit la vitesse d'un acteur"},c.setSpriteZombie=function(){return"vers une image de zombie"},c.shareStudioTwitter=function(){return"Découvrez l'histoire que j'ai faite. Je l'ai écrit moi-même avec @codeorg"},c.shareGame=function(){return"Partagez votre histoire :"},c.showTitleScreen=function(){return"afficher l'écran titre"},c.showTitleScreenTitle=function(){return"titre"},c.showTitleScreenText=function(){return"texte"},c.showTSDefTitle=function(){return"taper le titre ici"},c.showTSDefText=function(){return"taper le texte ici"},c.showTitleScreenTooltip=function(){return"Afficher un écran titre avec le titre et le texte correspondants."},c.setSprite=function(){return"mettre"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"objectif 1"},c.soundGoal2=function(){return"objectif 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"Perdre un point"},c.soundLosePoint2=function(){return"perdre un point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"vitesse"},c.stopSprite=function(){return"arrêter"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Arrête le mouvement d'un acteur."},c.throwSprite=function(){return"jeter"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Lance un projectile de l'acteur spécifié."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"Attendre"},c.waitSeconds=function(){return"secondes"},c.waitForClick=function(){return"attendre le clic"},c.waitForRandom=function(){return"attendre un événement aléatoire"},c.waitForHalfSecond=function(){return"Attendre une demi-seconde"},c.waitFor1Second=function(){return"Attendre 1 seconde"},c.waitFor2Seconds=function(){return"Attendre 2 secondes"},c.waitFor5Seconds=function(){return"Attendre 5 secondes"},c.waitFor10Seconds=function(){return"Attendre 10 secondes"},c.waitParamsTooltip=function(){return"Attendez le nombre de secondes indiqué ou utilisez 0 pour attendre jusqu'au clic."},c.waitTooltip=function(){return"Attendez le temps indiqué ou jusqu'au clic."},c.whenArrowDown=function(){return"flèche vers le bas"},c.whenArrowLeft=function(){return"flèche vers la gauche"},c.whenArrowRight=function(){return"flèche vers la droite"},c.whenArrowUp=function(){return"flèche vers le haut"},c.whenArrowTooltip=function(){return"Exécutez les actions ci-dessous lorsque le flèche indiquée est pressée."},c.whenDown=function(){return"quand flèche en bas"},c.whenDownTooltip=function(){return"Exécute les actions ci-dessous quand on presse la touche 'flèche en bas'."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"quand flèche à gauche"},c.whenLeftTooltip=function(){return"Exécute les actions ci-dessous quand on presse la touche 'flèche à gauche'."},c.whenRight=function(){return"quand flèche à droite"},c.whenRightTooltip=function(){return"Exécute les actions ci-dessous quand on presse la touche 'flèche à droite'."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touche"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touche le bord du bas"},c.whenSpriteCollidedWithLeftEdge=function(){return"touche le bord gauche"},c.whenSpriteCollidedWithRightEdge=function(){return"touche le bord droit"},c.whenSpriteCollidedWithTopEdge=function(){return"touche le bord du haut"},c.whenUp=function(){return"quand flèche en haut"},c.whenUpTooltip=function(){return"Exécute les actions ci-dessous quand on presse la touche 'flèche en haut'."},c.yes=function(){return"Oui"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/he_il/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/he_il/common":40,"../../locale/he_il/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/he_il/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/he_il/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/he_il/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/he_il/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/he_il/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/he_il/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/he_il/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/he_il/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/he_il/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/he_il/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/he_il/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/he_il/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.he=function(a){return 1===a?"one":"other"},c.and=function(){return"וגם"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"פעולות"},c.catColour=function(){return"צבע"},c.catLogic=function(){return"לוגיקה"},c.catLists=function(){return"רשימות"},c.catLoops=function(){return"לולאות"},c.catMath=function(){return"מתמטיקה"},c.catProcedures=function(){return"פונקציות"},c.catText=function(){return"טקסט"},c.catVariables=function(){return"משתנים"},c.codeTooltip=function(){return"ראה קוד JavaScript שנוצר."},c.continue=function(){return"המשך"},c.dialogCancel=function(){return"בטל"},c.dialogOK=function(){return"אישור"},c.directionNorthLetter=function(){return"צ"},c.directionSouthLetter=function(){return"ס"},c.directionEastLetter=function(){return"מז"},c.directionWestLetter=function(){return"מע"},c.end=function(){return"סוף"},c.emptyBlocksErrorMsg=function(){return'בלוקי ה"חזור שוב" או "אם" צריכים להיות בעלי בלוקים פנימיים כדי לעבוד. וודא כי הבלוק הפנימי מתאים בבלוק המכיל.'},c.emptyFunctionBlocksErrorMsg=function(){return"פונקציית הבלוק דורשת בלוקים אחרים בתוך לעבודה."},c.extraTopBlocks=function(){return"יש לך קוביות מיותרות שלא מחוברת לקוביית הארוע."},c.finalStage=function(){return"כל הכבוד! השלמת את השלב הסופי."},c.finalStageTrophies=function(a){return"כל הכבוד! השלמת את השלב הסופי וזכית ב"+p(a,"numTrophies",0,"he",{one:"פרס",other:n(a,"numTrophies")+" פרסים"})+"."},c.finish=function(){return"סיים"},c.generatedCodeInfo=function(a){return"אפילו האוניברסטאות העליונות מלמדות קידוד מבוסס בלוק (לדוגמה, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). אבל מתחת למכסה המנוע, האבנים שאספת ניתנות לצפייה גם בג'אווה סקריפט, שפת הקידוד המדוברת בעולם:"},c.hashError=function(){return"סליחה, אך '%1' אינו תואם לאף תוכנית שנשמרה."},c.help=function(){return"עזרה"},c.hintTitle=function(){return"רמז:"},c.jump=function(){return"קפיצה"},c.levelIncompleteError=function(){return"הנך משתמש בכל סוגי הבלוקים הנדרשים אך לא באופן הנכון."},c.listVariable=function(){return"רשימה"},c.makeYourOwnFlappy=function(){return"תיצור משחק פלפי משלך"},c.missingBlocksErrorMsg=function(){return"השתמש באחד או יותר מהבלוקים להלן כדי לפתור את החידה."},c.nextLevel=function(a){return"כל הכבוד! השלמת את חידה "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"כל הכבוד! השלמת את חידה "+v(a,"puzzleNumber")+" וזכית ב"+p(a,"numTrophies",0,"he",{one:"פרס",other:n(a,"numTrophies")+" פרסים"})+"."},c.nextStage=function(a){return"מזל טוב! השלמת "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"כל הכבוד! השלמת את שלב "+v(a,"stageNumber")+" וזכית ב"+p(a,"numTrophies",0,"he",{one:"פרס",other:n(a,"numTrophies")+" פרסים"})+"."},c.numBlocksNeeded=function(a){return"כל הכבוד! השלמת את חידה "+v(a,"puzzleNumber")+". (עם זאת, יכולת להשתמש רק ב "+p(a,"numBlocks",0,"he",{one:"1 בלוק",other:n(a,"numBlocks")+" בלוקים"})+".)" },c.numLinesOfCodeWritten=function(a){return"כתבת "+p(a,"numLines",0,"he",{one:"שורת",other:n(a,"numLines")+" שורות"})+" קוד!"},c.play=function(){return"לשחק"},c.puzzleTitle=function(a){return"חידה "+v(a,"puzzle_number")+" מ- "+v(a,"stage_total")},c.repeat=function(){return"חזור"},c.resetProgram=function(){return"אפס"},c.runProgram=function(){return"ריצה"},c.runTooltip=function(){return"הפעל את התוכנית המוגדרת על-ידי הבלוקים בסביבת העבודה."},c.score=function(){return"ציון"},c.showCodeHeader=function(){return"הצג קוד"},c.showGeneratedCode=function(){return"הצג קוד"},c.subtitle=function(){return"סביבת תיכנות חזותית"},c.textVariable=function(){return"טקסט"},c.tooFewBlocksMsg=function(){return"אתה משתמש בכל סוגי הבלוקים הנחוצים, אך נסה להשתמש ביותר בלוקים מסוגים אלו כדי להשלים את הפאזל."},c.tooManyBlocksMsg=function(){return"ניתן לפתור את החידה הזאת עם בלוקים."},c.tooMuchWork=function(){return"גרמת לי להרבה עבודה! האם אתה יכול לנסות לחזור פחות פעמים?"},c.toolboxHeader=function(){return"בלוקים"},c.openWorkspace=function(){return"איך זה עובד"},c.totalNumLinesOfCodeWritten=function(a){return"סך כל הזמנים: "+p(a,"numLines",0,"he",{one:"שורה אחת",other:n(a,"numLines")+" שורות"})+" של קוד."},c.tryAgain=function(){return"נסה שוב"},c.hintRequest=function(){return"ראה רמז"},c.backToPreviousLevel=function(){return"חזרה לשלב הקודם"},c.saveToGallery=function(){return"לשמור את הגלריה שלך"},c.savedToGallery=function(){return"נשמר לגלריה שלך!"},c.typeCode=function(){return"הקלד את קוד ה JavaScript שלך מתחת להוראות אלו."},c.typeFuncs=function(){return"פונקציות אפשריות: %1"},c.typeHint=function(){return"שימו לב כי סוגריים ונקודה-פסיק הכרחיים."},c.workspaceHeader=function(){return"הרכב את הבלוקים שלך כאן: "},c.infinity=function(){return"אינסוף"},c.rotateText=function(){return"סובב את המכשיר שלך."},c.orientationLock=function(){return"בטל את נעילת הכיוון בהגדרות המכשיר."},c.wantToLearn=function(){return"רוצה ללמוד לתכנת?"},c.watchVideo=function(){return"צפה בסרטון"},c.when=function(){return"מתי"},c.whenRun=function(){return"מתי לרוץ"},c.tryHOC=function(){return'נסה את "שעת הקוד" (Hour of Code)'},c.signup=function(){return"הירשם לקורס המבוא"},c.hintHeader=function(){return"הנה עצה:"},c.genericFeedback=function(){return"לראות איך גמרת, ולנסות לתקן את התוכנית שלך."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.he=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"פעולות"},c.catControl=function(){return"לולאות"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"לוגיקה"},c.catMath=function(){return"מתמטיקה"},c.catProcedures=function(){return"פונקציות"},c.catText=function(){return"טקסט"},c.catVariables=function(){return"משתנים"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"המשך"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"מזל טוב! השלמת את הפאזל האחרון."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"נקודת דרוג"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"תיצור סיפור משלך"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"אקראי"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"פיקסלים"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"הזז למטה"},c.moveDownTooltip=function(){return"העבר את המשוט למטה."},c.moveLeft=function(){return"זוז שמאלה"},c.moveLeftTooltip=function(){return"הזז את המשוט לשמאל."},c.moveRight=function(){return"זוז ימינה"},c.moveRightTooltip=function(){return"הזז את המשוט לימין."},c.moveUp=function(){return"זוז למעלה"},c.moveUpTooltip=function(){return"הזז את המשוט למעלה."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"מזל טוב! השלמת את הפאזל הזה."},c.no=function(){return"לא"},c.numBlocksNeeded=function(){return"ניתן לפתור את הפאזל עם %1 בלוק."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"נגן צליל מעיכה"},c.playSoundGoal1=function(){return"השמע צליל מטרה 1"},c.playSoundGoal2=function(){return"השמע צליל מטרה 2"},c.playSoundHit=function(){return"השמע צליל פגיעה"},c.playSoundLosePoint=function(){return"השמע צליל איבוד נקודה"},c.playSoundLosePoint2=function(){return"השמע צליל איבוד נקודה 2"},c.playSoundRetro=function(){return"השמע צליל רטרו"},c.playSoundRubber=function(){return"השמע צליל גומי"},c.playSoundSlap=function(){return"השמע צליל סטירה"},c.playSoundTooltip=function(){return"נגן את הצליל שנבחר."},c.playSoundWinPoint=function(){return"השמע צליל נקודת ניצחון"},c.playSoundWinPoint2=function(){return"השמע צליל נקודת ניצחון 2"},c.playSoundWood=function(){return"השמע צליל עץ"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"אקראי"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"בצע"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"ציון: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"הגדר ניקוד"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"טקסט"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"הגדר"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"מעיכה"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"כאשר חץ למטה"},c.whenDownTooltip=function(){return"בצע את הפעולות להלן כאשר נלחץ על המקש חץ למטה."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"כאשר חץ שמאלה"},c.whenLeftTooltip=function(){return"בצע את הפעולות להלן כאשר נלחץ על מקש חץ שמאלה."},c.whenRight=function(){return"כאשר חץ ימינה"},c.whenRightTooltip=function(){return"בצע את הפעולות להלן כאשר נלחץ על המקש חץ ימינה."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"כאשר חץ למעלה"},c.whenUpTooltip=function(){return"בצע את הפעולות להלן כאשר נלחץ המקש חץ למעלה."},c.yes=function(){return"כן"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/hi_in/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/hi_in/common":40,"../../locale/hi_in/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hi_in/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hi_in/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/hi_in/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/hi_in/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/hi_in/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hi_in/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hi_in/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hi_in/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/hi_in/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hi_in/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hi_in/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hi_in/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.hi=function(a){return 0===a||1==a?"one":"other"},c.and=function(){return"and"},c.blocklyMessage=function(){return"ब्लॉक्ली"},c.catActions=function(){return"क्रियाएँ"},c.catColour=function(){return"रंग"},c.catLogic=function(){return"तर्क"},c.catLists=function(){return"सूचियाँ"},c.catLoops=function(){return"फंदे"},c.catMath=function(){return"गणित"},c.catProcedures=function(){return"कार्य"},c.catText=function(){return"पाठ"},c.catVariables=function(){return"चर"},c.codeTooltip=function(){return"उत्पन्न जावा कोड देखें"},c.continue=function(){return"जारी रखें"},c.dialogCancel=function(){return"रद्द करें"},c.dialogOK=function(){return"ठीक है"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'"दोहराएँ" या "यदि" ब्लॉक को काम करने के लिए अपने अंदर अन्य ब्लॉक्स की ज़रूरत है । ध्यान दें कि भीतर के ब्लॉक बाहरी ब्लॉक में ठीक बैठें।'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"बधाई हो! आपने अंतिम चरण पूरा कर लिया है।"},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"hi",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"The blocks for your program can also be represented in JavaScript, the world's most widely adopted programming language:"},c.hashError=function(){return"Sorry, '%1' doesn't correspond with any saved program."},c.help=function(){return"Help"},c.hintTitle=function(){return"Hint:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"सूची"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"hi",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+" and won "+p(a,"numTrophies",0,"hi",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"hi",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)" },c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"hi",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")},c.repeat=function(){return"दोहराएँ"},c.resetProgram=function(){return"Reset"},c.runProgram=function(){return"Run Program"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Show Code"},c.showGeneratedCode=function(){return"Show code"},c.subtitle=function(){return"a visual programming environment"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"Blocks"},c.openWorkspace=function(){return"How It Works"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"hi",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Try again"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Back to previous level"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Type your JavaScript code below these instructions."},c.typeFuncs=function(){return"Available functions:%1"},c.typeHint=function(){return"Note that the parentheses and semicolons are required."},c.workspaceHeader=function(){return"Assemble your blocks here: "},c.infinity=function(){return"Infinity"},c.rotateText=function(){return"Rotate your device."},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.hi=function(a){return 0===a||1==a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"क्रियाएँ"},c.catControl=function(){return"फंदे"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"तर्क"},c.catMath=function(){return"गणित"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"पाठ"},c.catVariables=function(){return"चर"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"जारी रखें"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Congratulations! You have solved the final puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"random"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Congratulations! You have completed this puzzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"random"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"do"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"set"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Yes"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E]; if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/hr_hr/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/hr_hr/common":40,"../../locale/hr_hr/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hr_hr/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hr_hr/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/hr_hr/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/hr_hr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/hr_hr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hr_hr/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hr_hr/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hr_hr/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/hr_hr/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hr_hr/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hr_hr/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hr_hr/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.hr=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.and=function(){return"i"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Akcije"},c.catColour=function(){return"Boja"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"Liste"},c.catLoops=function(){return"Petlje"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funkcije"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Varijable"},c.codeTooltip=function(){return"Pogledaj stvoreni JavaScript kôd."},c.continue=function(){return"Nastavi"},c.dialogCancel=function(){return"Odustani"},c.dialogOK=function(){return"U redu"},c.directionNorthLetter=function(){return"S"},c.directionSouthLetter=function(){return"J"},c.directionEastLetter=function(){return"I"},c.directionWestLetter=function(){return"Z"},c.end=function(){return"kraj"},c.emptyBlocksErrorMsg=function(){return'Da bi blok "Ponovi" ili "Ako" radio, u njega treba ugraditi druge blokove. Provjeri uklapa li se unutarnji blok pravilno u vanjski blok.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return'Imaš viška blokova koji nisu povezani za "događaj" blokom.'},c.finalStage=function(){return"Čestitamo! Posljednja etapa je završena."},c.finalStageTrophies=function(a){return"Čestitamo! Završena je posljednja etapa i osvajaš "+p(a,"numTrophies",0,"hr",{one:"trofej",other:n(a,"numTrophies")+" trofeja"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Čak i vrhunska sveučilišta podučavaju kodiranje pomoću blokova (npr. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Ali u suštini, blokovi koje si spojio se mogu prikazati kao kôd u JavaScriptu, najkorištenijem programskom jeziku na svijetu:"},c.hashError=function(){return"Nažalost, '%1' ne odgovara nijednom spremljenom programu."},c.help=function(){return"Pomoć"},c.hintTitle=function(){return"Savjet:"},c.jump=function(){return"skoči"},c.levelIncompleteError=function(){return"Koristiš sve potrebne vrste blokova, ali na pogrešan način."},c.listVariable=function(){return"popis"},c.makeYourOwnFlappy=function(){return"Napravi vlastitu Flappy igricu"},c.missingBlocksErrorMsg=function(){return"Za rješavanje ovog zadatka isprobaj jedan ili više blokova koji se nalaze ispod."},c.nextLevel=function(a){return"Čestitamo! Zadatak "+v(a,"puzzleNumber")+" je riješen."},c.nextLevelTrophies=function(a){return"Čestitamo! Riješivši Zadatak "+v(a,"puzzleNumber")+" osvajaš "+p(a,"numTrophies",0,"hr",{one:"trofej",other:n(a,"numTrophies")+" trofeja"})+"."},c.nextStage=function(a){return"Čestitke! Završio si "+v(a,"stageName")+"." },c.nextStageTrophies=function(a){return"Čestitamo! Završio si etapu "+v(a,"stageName")+" i osvojio "+p(a,"numTrophies",0,"hr",{one:"trofej",other:n(a,"numTrophies")+" trofeja"})+"."},c.numBlocksNeeded=function(a){return"Čestitamo! Zadatak "+v(a,"puzzleNumber")+" je riješen. (Međutim, moglo se iskoristiti samo "+p(a,"numBlocks",0,"hr",{one:"1 blok",other:n(a,"numBlocks")+" blokova"})+".)"},c.numLinesOfCodeWritten=function(a){return"Upravo si napisao "+p(a,"numLines",0,"hr",{one:"1 liniju",other:n(a,"numLines")+" linija"})+" kôda!"},c.play=function(){return"igraj"},c.puzzleTitle=function(a){return"Zadatak "+v(a,"puzzle_number")+" od "+v(a,"stage_total")},c.repeat=function(){return"ponovi"},c.resetProgram=function(){return"Ponovno"},c.runProgram=function(){return"Kreni"},c.runTooltip=function(){return"Pokreće program određen blokovima na radnom prostoru."},c.score=function(){return"bodovi"},c.showCodeHeader=function(){return"Pokaži kôd"},c.showGeneratedCode=function(){return"Pokaži kôd"},c.subtitle=function(){return"grafičko okruženje za programiranje"},c.textVariable=function(){return"tekst"},c.tooFewBlocksMsg=function(){return"Koristiš sve neophodne vrste blokova, ali za rješavanje ovog zadatka pokušaj koristiti više ovakvih blokova."},c.tooManyBlocksMsg=function(){return"Ovaj zadatak se može riješiti s blokova."},c.tooMuchWork=function(){return"Napravio si puno posla za mene! Možeš li manje puta ponavljati?"},c.toolboxHeader=function(){return"Blokovi"},c.openWorkspace=function(){return"Kako to radi"},c.totalNumLinesOfCodeWritten=function(a){return"Ukupno: "+p(a,"numLines",0,"hr",{one:"1 linija",other:n(a,"numLines")+" linija"})+" kôda."},c.tryAgain=function(){return"Pokušaj ponovno"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Povratak na prethodni nivo"},c.saveToGallery=function(){return"Spremi u svoju galeriju"},c.savedToGallery=function(){return"Spremljeno u tvoju galeriju!"},c.typeCode=function(){return"Napiši svoj JavaScript kôd ispod ovih uputa."},c.typeFuncs=function(){return"Dostupne funkcije:%1"},c.typeHint=function(){return'Uoči da su neophodne zagrade i znak ";".'},c.workspaceHeader=function(){return"Svoje blokove sastavi ovdje: "},c.infinity=function(){return"Beskonačnost"},c.rotateText=function(){return"Okreni svoj uređaj."},c.orientationLock=function(){return"U postavkama uređaja isključi blokadu orijentacije."},c.wantToLearn=function(){return"Želiš li naučiti programirati?"},c.watchVideo=function(){return"Pogledaj filmić"},c.when=function(){return"kada"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Isprobaj Hour of Code"},c.signup=function(){return"Upis na početni tečaj"},c.hintHeader=function(){return"Evo savjeta:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.hr=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Akcije"},c.catControl=function(){return"Petlje"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funkcije"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Varijable"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Nastavi"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Čestitamo! Riješen je posljednji zadatak."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"osvoji bod"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Izmisli vlastitu priču"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"nasumično odabrani"},c.moveDistance25=function(){return"25 piksela"},c.moveDistance50=function(){return"50 piksela"},c.moveDistance100=function(){return"100 piksela"},c.moveDistance200=function(){return"200 piksela"},c.moveDistance400=function(){return"400 piksela"},c.moveDistancePixels=function(){return"pikseli"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"pomakni dolje"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"pomakni lijevo"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"pomakni desno"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"pomakni gore"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Čestitamo! Riješili ste zadatak."},c.no=function(){return"Ne"},c.numBlocksNeeded=function(){return"Ovaj zadatak se može riješiti s %1 blokova."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"pokreni zvuk krckanja"},c.playSoundGoal1=function(){return"pokreni zvuk cilj 1"},c.playSoundGoal2=function(){return"pokreni zvuk cilj 2"},c.playSoundHit=function(){return"pokreni zvuk udara"},c.playSoundLosePoint=function(){return"pokreni zvuk gubitak boda"},c.playSoundLosePoint2=function(){return"pokreni zvuk izgubljen bod 2"},c.playSoundRetro=function(){return"pokreni retro zvuk"},c.playSoundRubber=function(){return"pokreni zvuk gume"},c.playSoundSlap=function(){return"pokreni zvuk pljeska"},c.playSoundTooltip=function(){return"Pokreni odabrani zvuk."},c.playSoundWinPoint=function(){return"pokreni zvuk dobiveni bod"},c.playSoundWinPoint2=function(){return"pokreni zvuk dobiven bod 2"},c.playSoundWood=function(){return"pokreni zvuk drvo"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"nasumično odabrani"},c.reinfFeedbackMsg=function(){return'Pritisni tipku "Pokušaj ponovno" da se vratiš na igru.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"uradi"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Rezultat: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"postavi nasumičnu pozadinu"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"postavi pozadinu špilja"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"postavi pozadinu beton"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"postavi pozadinu pod vodom"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Postavi sliku za pozadinu"},c.setScoreText=function(){return"postavi rezultat"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"za skrivenu sliku"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"za nasumičnu sliku"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"za nasumičnu brzinu"},c.setSpriteSpeedVerySlow=function(){return"za jako sporu brzinu"},c.setSpriteSpeedSlow=function(){return"za sporu brzinu"},c.setSpriteSpeedNormal=function(){return"za normalnu brzinu"},c.setSpriteSpeedFast=function(){return"za brzu brzinu"},c.setSpriteSpeedVeryFast=function(){return"za jako brzu brzinu"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Pogledaj priču koju sam smislio/la. Napisao/la sam je sam/a s @codeorg"},c.shareGame=function(){return"Podijeli svoju priču:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"tekst"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"postaviti"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"krckati"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"kad strelica dolje"},c.whenDownTooltip=function(){return"Izvrši sljedeće akcije kad se pritisne tipka dolje."},c.whenGameStarts=function(){return"kad priča započne"},c.whenGameStartsTooltip=function(){return"Izvrši sljedeće akcije kad priča započne."},c.whenLeft=function(){return"kad lijeva strelica"},c.whenLeftTooltip=function(){return"Izvrši sljedeće akcije kad se pritisne lijeva strelica."},c.whenRight=function(){return"kad desna strelica"},c.whenRightTooltip=function(){return"Izvrši sljedeće akcije kad se pritisne desna strelica."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"kad strelica gore"},c.whenUpTooltip=function(){return"Izvrši sljedeće akcije kad se pritisne strelica gore."},c.yes=function(){return"Da"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/hu_hu/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/hu_hu/common":40,"../../locale/hu_hu/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hu_hu/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hu_hu/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/hu_hu/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/hu_hu/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/hu_hu/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hu_hu/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hu_hu/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hu_hu/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/hu_hu/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hu_hu/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/hu_hu/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/hu_hu/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.hu=function(){return"other"},c.and=function(){return"és"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Cselekvések"},c.catColour=function(){return"Szín"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"Listák"},c.catLoops=function(){return"Ciklusok"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Függvények"},c.catText=function(){return"Szöveg"},c.catVariables=function(){return"Változók"},c.codeTooltip=function(){return"Lássuk a generált JavaScript kódot."},c.continue=function(){return"Tovább"},c.dialogCancel=function(){return"Mégsem"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"Észak"},c.directionSouthLetter=function(){return"Dél"},c.directionEastLetter=function(){return"Kelet"},c.directionWestLetter=function(){return"Nyugat"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'Akkor van értelme az "Ismétel" vagy a "Ha" blokknak, ha van bennük egy vagy több blokk. Bizonyosodj meg róla, hogy a belső blokk megfelelően illeszkedik a külső blokkhoz.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Van egy blokk, ami nincs csatolva egyetlen eseményblokkhoz se."},c.finalStage=function(){return"Gratulálok! Teljesítetted az utolsó szakaszt."},c.finalStageTrophies=function(a){return"Gratulálok! Teljesítetted az utolsó szakaszt és nyertél "+p(a,"numTrophies",0,"hu",{one:"egy trófeát",other:n(a,"numTrophies")+" trófeát"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Még a legjobb egyetemei is tanítják a blokk alapú kódolást (például "+v(a,"berkeleyLink")+" "+v(a,"harvardLink")+"). De a motorháztető alatt, a blokkok amiket összeraksz, JavaScript kódok, a világ legszélesebb körben használt kódolási nyelvén:"},c.hashError=function(){return'Sajnálom, de "%1" nem felel meg egyetlen mentett programnak sem.'},c.help=function(){return"Segítség"},c.hintTitle=function(){return"Tanács:"},c.jump=function(){return"Ugorj"},c.levelIncompleteError=function(){return"Minden szükséges blokkot felhasználtál, de nem megfelelően."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Készítsd el a saját Flappy játékod"},c.missingBlocksErrorMsg=function(){return"Próbáld meg a lenti blokkokat használni, hogy megoldd a rejtvényt."},c.nextLevel=function(a){return"Gratulálok! Megoldottad a "+v(a,"puzzleNumber")+". feladványt."},c.nextLevelTrophies=function(a){return"Gratulálok! Megoldottad a "+v(a,"puzzleNumber")+". feladványt és nyertél "+p(a,"numTrophies",0,"hu",{one:"egy trófeát",other:n(a,"numTrophies")+" trófeát"})+"."},c.nextStage=function(a){return"Gratulálok! Teljesítetted a "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Gratulálok! Teljesítetted a "+v(a,"stageNumber")+". szakaszát és nyertél "+p(a,"numTrophies",0,"hu",{one:"egy trófeát",other:n(a,"numTrophies")+" trófeát"})+"." },c.numBlocksNeeded=function(a){return"Gratulálok! Megoldottad a "+v(a,"puzzleNumber")+". feladványt. (Habár megoldható csupán "+p(a,"numBlocks",0,"hu",{one:"1 blokk",other:n(a,"numBlocks")+" blokk"})+" használatával.)"},c.numLinesOfCodeWritten=function(a){return"Éppen most írtál újabb "+p(a,"numLines",0,"hu",{one:"1 sor",other:n(a,"numLines")+" sor"})+" kódot!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return v(a,"puzzle_number")+". feladvány a "+v(a,"stage_total")+" -ból"},c.repeat=function(){return"ismételd"},c.resetProgram=function(){return"Visszaállítás"},c.runProgram=function(){return"Program Futtatása"},c.runTooltip=function(){return"A munkalapon összeépített program futtatása."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Kód Megjelenítése"},c.showGeneratedCode=function(){return"Kód megjelenítése"},c.subtitle=function(){return"vizuális programozási felület"},c.textVariable=function(){return"szöveg"},c.tooFewBlocksMsg=function(){return"A megfelelő blokkokat használod, de próbálj meg többet használni belőlük, hogy megoldd a feladványt."},c.tooManyBlocksMsg=function(){return"Ez a feladvány megoldható a blokkokal."},c.tooMuchWork=function(){return"Sokat dolgoztattál. Megpróbálnád egy kicsit kevesebb ismétléssel?"},c.toolboxHeader=function(){return"Blokkok"},c.openWorkspace=function(){return"Hogyan is működik"},c.totalNumLinesOfCodeWritten=function(a){return"Összesített eredmény: "+p(a,"numLines",0,"hu",{one:"1 sor",other:n(a,"numLines")+" sor"})+" kód."},c.tryAgain=function(){return"Próbáld újra"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Vissza az előző szintre"},c.saveToGallery=function(){return"Mentés a galériába"},c.savedToGallery=function(){return"Elmentve a galáriádba"},c.typeCode=function(){return"Írd be a JavaScript kódod az instrukciók alá."},c.typeFuncs=function(){return"Elérhető funkciók:%1"},c.typeHint=function(){return"Vedd figyelembe, hogy a zárójelek és a pontosvesszők is szükségesek."},c.workspaceHeader=function(){return"Építsd össze a blokkokat itt: "},c.infinity=function(){return"Végtelenség"},c.rotateText=function(){return"Fordítsd el a készüléket."},c.orientationLock=function(){return"Kapcsold ki a tájolási zárat az eszközbeállításokban."},c.wantToLearn=function(){return"Szeretnél megtanulni programozni?"},c.watchVideo=function(){return"Nézd meg a videót"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Próbáld ki a kódolás óráját"},c.signup=function(){return"Regisztrálj a bevezető képzésre"},c.hintHeader=function(){return"Egy tipp:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.hu=function(){return"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Műveletek"},c.catControl=function(){return"Ciklusok"},c.catEvents=function(){return"Események"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funkciók"},c.catText=function(){return"Szöveg"},c.catVariables=function(){return"Változók"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Tovább"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"Ide írj"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Gratulálok! A megoldottad az utolsó feladványt."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"le"},c.moveDirectionLeft=function(){return"bal"},c.moveDirectionRight=function(){return"jobb"},c.moveDirectionUp=function(){return"fel"},c.moveDirectionRandom=function(){return"véletlenszerű"},c.moveDistance25=function(){return"25 pixel"},c.moveDistance50=function(){return"50 képpont"},c.moveDistance100=function(){return"100 képpont"},c.moveDistance200=function(){return"200 képpont"},c.moveDistance400=function(){return"400 képpont"},c.moveDistancePixels=function(){return"pixel"},c.moveDistanceRandom=function(){return"véletlenszerű képpontok"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"mozogj"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"lejjebb"},c.moveDownTooltip=function(){return"mozgass egy művészt lefele"},c.moveLeft=function(){return"balra"},c.moveLeftTooltip=function(){return"mozgass egy művészt balra"},c.moveRight=function(){return"jobbra"},c.moveRightTooltip=function(){return"mozgass egy művészt jobbra."},c.moveUp=function(){return"feljebb"},c.moveUpTooltip=function(){return"művész mozogjon felfele."},c.moveTooltip=function(){return"mozogjon a művész."},c.nextLevel=function(){return"Gratulálunk! Teljesítetted ezt a feladványt."},c.no=function(){return"nem"},c.numBlocksNeeded=function(){return"Ezt a puzzle-t a(z) % 1 blokkal megoldható."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"recsegő hang lejátszása"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"pont elvesztése hang lejátszása"},c.playSoundLosePoint2=function(){return"pont elvesztése hang 2 lejátszása"},c.playSoundRetro=function(){return"retro hang lejátszása"},c.playSoundRubber=function(){return"gumi hang lejátszása"},c.playSoundSlap=function(){return"pofon hang lejátszása"},c.playSoundTooltip=function(){return"Kiválasztott hang lejátszása."},c.playSoundWinPoint=function(){return"pontnyerés hang lejátszása"},c.playSoundWinPoint2=function(){return"pontnyerés hang 2 lejátszása"},c.playSoundWood=function(){return"fa hang lejátszása"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"balra fölülre"},c.positionTopCenter=function(){return"felülre középre"},c.positionTopRight=function(){return"jobbra felülre"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"bal középsőre "},c.positionMiddleCenter=function(){return"közép-középre"},c.positionMiddleRight=function(){return"jobbra középre "},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"bal alsó pozícióba"},c.positionBottomCenter=function(){return"alsó középső helyzetbe"},c.positionBottomRight=function(){return"a jobb alsó pozícióba"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"véletlenszerű helyzetbe"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"véletlenszerű"},c.reinfFeedbackMsg=function(){return'Nyomja meg a "Játszd újra" gombot hogy visszatérj a saját játékodhoz.'},c.repeatForever=function(){return"végtelen ismétlés"},c.repeatDo=function(){return"csináld"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"mondd"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Ugorjon fel egy beszéd buborék, a megadott szereplő szövegével."},c.scoreText=function(a){return"Pontszám: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"változó háttér beállítása"},c.setBackgroundBlack=function(){return"fekete háttér beállítása"},c.setBackgroundCave=function(){return"barlangos háttér beállítása "},c.setBackgroundCloudy=function(){return"felhős háttér beállítása"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"éjszakai háttér beállítása"},c.setBackgroundUnderwater=function(){return"víz alatti háttér beállítása"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Add meg a háttér képet"},c.setScoreText=function(){return"Pontszám beállítása"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Nézd meg a történetet amit csináltam. Magam írtam a code.org felületén."},c.shareGame=function(){return"Oszd meg a történetedet:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"szöveg"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"beállítás"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"állj"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Szereplő mozgásának megállítása."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"Lefele nyílnál"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"Amikor a történet kezdődik"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"balra nyíl esetén"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"jobbra nyíl esetén"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"amikor a szereplőre kattintunk"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"igen"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/id_id/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/id_id/common":40,"../../locale/id_id/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/id_id/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/id_id/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/id_id/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/id_id/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/id_id/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/id_id/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/id_id/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/id_id/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/id_id/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/id_id/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/id_id/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/id_id/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.id=function(){return"other"},c.and=function(){return"dan"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Aksi"},c.catColour=function(){return"Warna"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"List"},c.catLoops=function(){return"Loop"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Fungsi"},c.catText=function(){return"Teks"},c.catVariables=function(){return"Variabel"},c.codeTooltip=function(){return"Lihat kode JavaScript."},c.continue=function(){return"Ayo lanjutkan!"},c.dialogCancel=function(){return"Batal"},c.dialogOK=function(){return"Oke!"},c.directionNorthLetter=function(){return"U"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"T"},c.directionWestLetter=function(){return"B"},c.end=function(){return"akhir"},c.emptyBlocksErrorMsg=function(){return'Blok "Ulangi" atau blok "Jika" membutuhkan blok lain di dalamnya supaya bisa bekerja. Pastikan blok yang berada didalam diletakkan secara pas.'},c.emptyFunctionBlocksErrorMsg=function(){return"Blok fungsi membutuhkan blok lain di dalamnya agar dapat bekerja."},c.extraTopBlocks=function(){return"Anda memiliki blok ekstra yang tidak melekat pada sebuah blok acara (event)."},c.finalStage=function(){return"Horee! Anda berhasil menyelesaikan tahap akhir."},c.finalStageTrophies=function(a){return"Horee! Anda berhasil menyelesaikan tahap akhir dan memenangkan "+p(a,"numTrophies",0,"id",{one:"piala",other:"piala "+n(a,"numTrophies")})+"."},c.finish=function(){return"Selesai"},c.generatedCodeInfo=function(a){return"Bahkan Universitas mengajar blok berbasis pengkodean (misalnya, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Tetapi di bawah tenda, blok Anda telah berkumpul dapat juga ditunjukkan dalam JavaScript, dunia yang paling banyak digunakan pengkodean bahasa:"},c.hashError=function(){return"Maaf, '%1' tidak sesuai dengan program yang disimpan."},c.help=function(){return"Tolong"},c.hintTitle=function(){return"Tips:"},c.jump=function(){return"lompat"},c.levelIncompleteError=function(){return"Anda telah gunakan semua jenis blok yang diperlukan tetapi tidak dengan cara yang tepat."},c.listVariable=function(){return"list"},c.makeYourOwnFlappy=function(){return'Buatlah permainan "Flappy" versi Anda sendiri'},c.missingBlocksErrorMsg=function(){return"Cobalah satu atau lebih blok di bawah untuk memecahkan teka-teki ini."},c.nextLevel=function(a){return"Horee! Anda berhasil menyelesaikan teka-teki ke "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Horee! Anda berhasil menyelesaikan teka-teki ke "+v(a,"puzzleNumber")+" dan memenangkan "+p(a,"numTrophies",0,"id",{satu:"a trophy",other:"trophies "+n(a,"numTrophies")})+"."},c.nextStage=function(a){return"Selamat! Anda telah menyelesaikan "+v(a,"stageName")+"." },c.nextStageTrophies=function(a){return"Horee! Anda berhasil menyelesaikan teka-teki ke "+v(a,"stageNumber")+" dan memenangkan "+p(a,"numTrophies",0,"id",{one:"piala",other:n(a,"numTrophies")+" piala"})+"."},c.numBlocksNeeded=function(a){return"Horee! Anda berhasil menyelesaikan teka-teki ke "+v(a,"puzzleNumber")+". (Namun, sebetulnya Anda cukup gunakan hanya "+p(a,"numBlocks",0,"id",{one:"1 blok",other:"blok "+n(a,"numBlocks")})+".)"},c.numLinesOfCodeWritten=function(a){return"Anda baru saja menulis "+p(a,"numLines",0,"id",{one:"1 baris",other:n(a,"numLines")+" baris"})+" kode!"},c.play=function(){return"mainkan"},c.puzzleTitle=function(a){return"Teka-teki ke "+v(a,"puzzle_number")+" dari "+v(a,"stage_total")},c.repeat=function(){return"ulangi"},c.resetProgram=function(){return"Kembali ke awal"},c.runProgram=function(){return"Jalankan"},c.runTooltip=function(){return"Jalankan program yang dibuat di blok ruang kerja."},c.score=function(){return"Skor"},c.showCodeHeader=function(){return"Tampilkan kode"},c.showGeneratedCode=function(){return"Tampilkan kode"},c.subtitle=function(){return"Perangkat pemrograman visual"},c.textVariable=function(){return"teks"},c.tooFewBlocksMsg=function(){return"Anda telah gunakan semua jenis blok diperlukan, tetapi cobalah menggunakan lebih banyak blok-blok ini supaya anda dapat menyelesaikan teka-teki ini."},c.tooManyBlocksMsg=function(){return"Teka-teki ini dapat diselesaikan dengan blok < x id = 'START_SPAN' /> < x id = 'END_SPAN'/>."},c.tooMuchWork=function(){return"Anda membuat saya melakukan terlalu banyak pekerjaan! Bisakan Anda coba membuat pengulangan yang lebih sedikit?"},c.toolboxHeader=function(){return"Blok"},c.openWorkspace=function(){return"Cara kerjanya"},c.totalNumLinesOfCodeWritten=function(a){return"Total keseluruhan: "+p(a,"numLines",0,"id",{one:"1 baris",other:n(a,"numLines")+" baris"})+" kode."},c.tryAgain=function(){return"Ayo coba lagi!"},c.hintRequest=function(){return"Lihat petunjuk"},c.backToPreviousLevel=function(){return"Kembali ke teka-teki sebelumnya"},c.saveToGallery=function(){return"Simpan ke galeri Anda"},c.savedToGallery=function(){return"Simpan ke galeri Anda!"},c.typeCode=function(){return"Ketik kode JavaScript di bawah instruksi ini."},c.typeFuncs=function(){return"Fungsi yang tersedia: %1"},c.typeHint=function(){return"Perhatikan bahwa tanda kurung dan titik koma diperlukan."},c.workspaceHeader=function(){return"Rakitlah blok Anda disini: "},c.infinity=function(){return"∞"},c.rotateText=function(){return"Memutar perangkat anda."},c.orientationLock=function(){return"Matikan orientasi kunci dalam pengaturan perangkat."},c.wantToLearn=function(){return"Ingin belajar untuk mengkode?"},c.watchVideo=function(){return"Tonton Videonya"},c.when=function(){return"ketika"},c.whenRun=function(){return"ketika dijalankan"},c.tryHOC=function(){return'Cobalah "Hour of Code"'},c.signup=function(){return"Daftarlah untuk mengikuti kursus introduksi"},c.hintHeader=function(){return"Berikut adalah tip:"},c.genericFeedback=function(){return"Lihatlah hasil anda dan cobalah untuk memperbaiki program Anda."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.id=function(){return"other"},c.actor=function(){return"pelaku"},c.catActions=function(){return"tindakan"},c.catControl=function(){return"pengulangan"},c.catEvents=function(){return"kegiatan"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Fungsi"},c.catText=function(){return"Teks"},c.catVariables=function(){return"Variabel"},c.changeScoreTooltip=function(){return"Menambah atau menghapus angka untuk Skor."},c.changeScoreTooltipK1=function(){return"Menambahkan poin untuk Skor."},c.continue=function(){return"Lanjutkan"},c.decrementPlayerScore=function(){return"Mengapus poin"},c.defaultSayText=function(){return"ketik di sini"},c.emotion=function(){return"suasana hati"},c.finalLevel=function(){return"Horee! Anda telah memecahkan teka-teki akhir."},c.hello=function(){return"Halo"},c.helloWorld=function(){return"Halo dunia!"},c.incrementPlayerScore=function(){return"Mengukur titik"},c.makeProjectileDisappear=function(){return"menghilang"},c.makeProjectileBounce=function(){return"melambung"},c.makeProjectileBlueFireball=function(){return"membuat bola api biru\n"},c.makeProjectilePurpleFireball=function(){return"membuat bola api ungu"},c.makeProjectileRedFireball=function(){return"membuat bola api merah"},c.makeProjectileYellowHearts=function(){return"membuat bola api kuning"},c.makeProjectilePurpleHearts=function(){return"membuat hati ungu"},c.makeProjectileRedHearts=function(){return"membuat hati merah"},c.makeProjectileTooltip=function(){return"Membuat peluru yang baru saja bertabrakan menghilang atau memantul."},c.makeYourOwn=function(){return"Buat cerita Anda sendiri"},c.moveDirectionDown=function(){return"turun"},c.moveDirectionLeft=function(){return"kiri"},c.moveDirectionRight=function(){return"kanan"},c.moveDirectionUp=function(){return"atas"},c.moveDirectionRandom=function(){return"acak"},c.moveDistance25=function(){return"25 pixel"},c.moveDistance50=function(){return"50 pixel"},c.moveDistance100=function(){return"100 piksel"},c.moveDistance200=function(){return"200 piksel"},c.moveDistance400=function(){return"400 piksel"},c.moveDistancePixels=function(){return"piksel"},c.moveDistanceRandom=function(){return"acak piksel"},c.moveDistanceTooltip=function(){return"memindahkan karakter dengan jarak dan arah yang telah ditentukan."},c.moveSprite=function(){return"bergerak"},c.moveSpriteN=function(){return"pindahkan karakter."},c.moveDown=function(){return"Pindahkan ke bawah"},c.moveDownTooltip=function(){return"menurunkan karakter."},c.moveLeft=function(){return"gerak kiri"},c.moveLeftTooltip=function(){return"memindahkan karakter ke kiri."},c.moveRight=function(){return"pindah kanan"},c.moveRightTooltip=function(){return"pindahkan karakter ke kanan."},c.moveUp=function(){return"gerak ke atas"},c.moveUpTooltip=function(){return"Pindahkan aktor ke atas."},c.moveTooltip=function(){return"pindahkan aktor."},c.nextLevel=function(){return"Horee! Anda telah menyelesaikan teka-teki ini."},c.no=function(){return"Tidak"},c.numBlocksNeeded=function(){return"Teka-teki ini dapat diselesaikan dengan %1 blok."},c.ouchExclamation=function(){return"Aduh!"},c.playSoundCrunch=function(){return'mainkan bunyi "crunch"'},c.playSoundGoal1=function(){return"Mainkan suara gol 1"},c.playSoundGoal2=function(){return"Mainkan suara gol 2"},c.playSoundHit=function(){return"Mainkan suara pukulan"},c.playSoundLosePoint=function(){return"Mainkan suara kehilangan poin"},c.playSoundLosePoint2=function(){return"Mainkan suara kehilangan poin 2"},c.playSoundRetro=function(){return"Mainkan suara retro "},c.playSoundRubber=function(){return"Mainkan suara karet"},c.playSoundSlap=function(){return"Putar suara tamparan"},c.playSoundTooltip=function(){return"Mainkan bunyi pilihan."},c.playSoundWinPoint=function(){return"Putar suara titik menang"},c.playSoundWinPoint2=function(){return"Putar suara titik menang 2"},c.playSoundWood=function(){return"Bermain suara kayu "},c.positionOutTopLeft=function(){return"ke posisi kiri atas di atas "},c.positionOutTopRight=function(){return"ke posisi kanan atas di atas "},c.positionTopOutLeft=function(){return"ke atas posisi kiri luar "},c.positionTopLeft=function(){return"ke atas posisi kiri"},c.positionTopCenter=function(){return"ke atas posisi tengah"},c.positionTopRight=function(){return"ke atas posisi kanan"},c.positionTopOutRight=function(){return"ke atas posisi kanan luar"},c.positionMiddleLeft=function(){return"ke tengah posisi kiri"},c.positionMiddleCenter=function(){return"ke tengah posisi tengah"},c.positionMiddleRight=function(){return"ke tengah posisi kanan"},c.positionBottomOutLeft=function(){return"ke bawah posisi kiri luar"},c.positionBottomLeft=function(){return"ke bawah posisi kiri"},c.positionBottomCenter=function(){return"ke bawah posisi tengah"},c.positionBottomRight=function(){return"ke bawah posisi kanan"},c.positionBottomOutRight=function(){return"ke bawah posisi kanan luar"},c.positionOutBottomLeft=function(){return"ke bawah bagian bawah posisi kiri"},c.positionOutBottomRight=function(){return"ke bawah bagian bawah sebelah kanan"},c.positionRandom=function(){return"ke posisi acak"},c.projectileBlueFireball=function(){return"bola api biru"},c.projectilePurpleFireball=function(){return"bola api ungu"},c.projectileRedFireball=function(){return"bola api merah"},c.projectileYellowHearts=function(){return"hati kuning"},c.projectilePurpleHearts=function(){return"hati ungu"},c.projectileRedHearts=function(){return"hati merah"},c.projectileRandom=function(){return"acak"},c.reinfFeedbackMsg=function(){return'Anda dapat menekan tombol "Coba lagi" untuk kembali bermain.'},c.repeatForever=function(){return"Ulangi selamanya"},c.repeatDo=function(){return"kerjakan"},c.repeatForeverTooltip=function(){return"jalankan tindakan-tindakan dalam blok ini saat cerita masih berjalan"},c.saySprite=function(){return"mengatakan"},c.saySpriteN=function(a){return"aktor "+v(a,"spriteIndex")+" mengatakan"},c.saySpriteTooltip=function(){return"Munculkan pop up dengan teks dari aktor tertentu."},c.scoreText=function(a){return"Nilai: "+v(a,"playerScore")},c.setBackground=function(){return"atur latar belakang"},c.setBackgroundRandom=function(){return"tetapkan latar belakang acak"},c.setBackgroundBlack=function(){return"menetapkan latar belakang hitam"},c.setBackgroundCave=function(){return"set latar belakang gua"},c.setBackgroundCloudy=function(){return"menetapkan latar belakang berawan"},c.setBackgroundHardcourt=function(){return"set latar belakang hardcourt"},c.setBackgroundNight=function(){return"atur latar belakang malam hari"},c.setBackgroundUnderwater=function(){return"menetapkan latar belakang bawah air"},c.setBackgroundCity=function(){return"atur latar belakang kota"},c.setBackgroundDesert=function(){return"atur latar belakang padang pasir"},c.setBackgroundRainbow=function(){return"atur latar belakang pelangi"},c.setBackgroundSoccer=function(){return"atur latar belakang sepak bola"},c.setBackgroundSpace=function(){return"atur latar belakang luar angkasa"},c.setBackgroundTennis=function(){return"atur latar belakang tennis"},c.setBackgroundWinter=function(){return"atur latar belakang musim dingin"},c.setBackgroundTooltip=function(){return"tetapkan latar belakang gambar"},c.setScoreText=function(){return"atur nilai"},c.setScoreTextTooltip=function(){return"atur teks yang ditampilkan di area skor"},c.setSpriteEmotionAngry=function(){return"menjadi suasana hati marah"},c.setSpriteEmotionHappy=function(){return"menjadi suasana hati bahagia"},c.setSpriteEmotionNormal=function(){return"menjadi suasana yang normal"},c.setSpriteEmotionRandom=function(){return"menjadi suasana hati acak"},c.setSpriteEmotionSad=function(){return"menjadi suasana hati sedih"},c.setSpriteEmotionTooltip=function(){return"Tetapkan suasana hati aktor"},c.setSpriteAlien=function(){return"menjadi gambar alien"},c.setSpriteBat=function(){return"untuk ke gambar kelelawar"},c.setSpriteBird=function(){return"untuk ke gambar burung"},c.setSpriteCat=function(){return"menjadi sebuah gambar kucing"},c.setSpriteCaveBoy=function(){return"menjadi gambar anak gua laki-laki"},c.setSpriteCaveGirl=function(){return"menjadi gambar anak gua perempuan"},c.setSpriteDinosaur=function(){return"menjadi gambar dinosaurus"},c.setSpriteDog=function(){return"menjadi gambar anjing"},c.setSpriteDragon=function(){return"untuk ke gambar naga"},c.setSpriteGhost=function(){return"menjadi gambar hantu"},c.setSpriteHidden=function(){return"untuk gambar yang tersembunyi"},c.setSpriteHideK1=function(){return"Sembunyikan"},c.setSpriteKnight=function(){return"menjadi gambar knight"},c.setSpriteMonster=function(){return"menjadi gambar raksasa"},c.setSpriteNinja=function(){return"menjadi gambar ninja bertopeng"},c.setSpriteOctopus=function(){return"ke gambar gurita"},c.setSpritePenguin=function(){return"menjadi gambar pinguin"},c.setSpritePirate=function(){return"menjadi gambar bajak laut"},c.setSpritePrincess=function(){return"menjadi gambar putri"},c.setSpriteRandom=function(){return"untuk gambar yang acak"},c.setSpriteRobot=function(){return"menjadi gambar robot"},c.setSpriteShowK1=function(){return"tampilkan "},c.setSpriteSpacebot=function(){return"menjadi gambar robot luar angkasa"},c.setSpriteSoccerGirl=function(){return"menjadi gambar gadis sepakbola"},c.setSpriteSoccerBoy=function(){return"menjadi gambar laki-laki sepakbola"},c.setSpriteSquirrel=function(){return"untuk ke gambar tupai"},c.setSpriteTennisGirl=function(){return"menjadi gambar perempuan tenis"},c.setSpriteTennisBoy=function(){return"menjadi gambar laki-laki tenis"},c.setSpriteUnicorn=function(){return"menjadi gambar unicorn"},c.setSpriteWitch=function(){return"menjadi gambar penyihir"},c.setSpriteWizard=function(){return"untuk ke gambar penyihir"},c.setSpritePositionTooltip=function(){return"gerakkan langsung aktor ke tempat yang ditentukan"},c.setSpriteK1Tooltip=function(){return"tampilkan atau sembunyikan aktor tertentu"},c.setSpriteTooltip=function(){return"atur gambar aktor"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"untuk kecepatan acak"},c.setSpriteSpeedVerySlow=function(){return"untuk kecepatan sangat lambat"},c.setSpriteSpeedSlow=function(){return"untuk kecepatan lambat"},c.setSpriteSpeedNormal=function(){return"untuk kecepatan normal"},c.setSpriteSpeedFast=function(){return"untuk kecepatan tinggi"},c.setSpriteSpeedVeryFast=function(){return"untuk kecepatan sangat cepat"},c.setSpriteSpeedTooltip=function(){return"atur kecepatan aktor"},c.setSpriteZombie=function(){return"menjadi gambar zombie"},c.shareStudioTwitter=function(){return"Periksalah cerita saya dibuat. Saya menulis itu sendiri dengan @codeorg"},c.shareGame=function(){return"Berbagi cerita Anda:"},c.showTitleScreen=function(){return"Tampilkan layar judul"},c.showTitleScreenTitle=function(){return"judul"},c.showTitleScreenText=function(){return"teks"},c.showTSDefTitle=function(){return"Ketik Judul Disini"},c.showTSDefText=function(){return"Ketik teks disini"},c.showTitleScreenTooltip=function(){return"Tampilkan layar judul dengan judul dan teks terkait."},c.setSprite=function(){return"atur"},c.setSpriteN=function(){return"pasang aktor\n"},c.soundCrunch=function(){return"menjongkok"},c.soundGoal1=function(){return"tujuan 1"},c.soundGoal2=function(){return"tujuan 2"},c.soundHit=function(){return"kenai"},c.soundLosePoint=function(){return"poin kekalahan"},c.soundLosePoint2=function(){return"poin kekalahan 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"karet"},c.soundSlap=function(){return"tampar"},c.soundWinPoint=function(){return"poin menang"},c.soundWinPoint2=function(){return"poin menang 2"},c.soundWood=function(){return"kayu"},c.speed=function(){return"kecepatan"},c.stopSprite=function(){return"Stop"},c.stopSpriteN=function(){return"berhentikan aktor"},c.stopTooltip=function(){return"hentikan gerakan seorang pemeran."},c.throwSprite=function(){return"Lempar"},c.throwSpriteN=function(){return"aktor tersebut melempar"},c.throwTooltip=function(){return"melempar sebuah objek ke aktor tertentu"},c.vanish=function(){return"menghilang"},c.vanishActorN=function(a){return"menghilangkan aktor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Lenyapkan aktor."},c.waitFor=function(){return"menunggu untuk"},c.waitSeconds=function(){return"detik"},c.waitForClick=function(){return"menunggu untuk klik"},c.waitForRandom=function(){return"tunggu untuk sesuai yang acak"},c.waitForHalfSecond=function(){return"tunggu untuk setengah detik"},c.waitFor1Second=function(){return"tunggu 1 detik"},c.waitFor2Seconds=function(){return"tunggu 2 detik"},c.waitFor5Seconds=function(){return"tunggu selama 5 detik"},c.waitFor10Seconds=function(){return"tunggu selama 10 detik"},c.waitParamsTooltip=function(){return"tunggu sampai angka tertentu, atau gunakan angka nol sampai suatu klik terjadi"},c.waitTooltip=function(){return"tunggu untuk waktu yang tertentu atau tunggu sampai suatu klik terjadi."},c.whenArrowDown=function(){return"panah kebawah"},c.whenArrowLeft=function(){return"panah kekiri"},c.whenArrowRight=function(){return"panah kekanan"},c.whenArrowUp=function(){return"panah keatas"},c.whenArrowTooltip=function(){return"Lakukan aksi dibawah ini ketika panah yang tertentu sudah terpencet"},c.whenDown=function(){return"Ketika panah bawah"},c.whenDownTooltip=function(){return"Laksanakan tindakan-tindakan di bawah ini ketika tombol panah kebawah ditekan."},c.whenGameStarts=function(){return"Ketika cerita dimulai"},c.whenGameStartsTooltip=function(){return"Melaksanakan tindakan-tindakan di bawah ini ketika cerita dimulai."},c.whenLeft=function(){return"Ketika anak panah kiri"},c.whenLeftTooltip=function(){return"Laksanakan tindakan-tindakan di bawah ini ketika tombol panah kiri ditekan."},c.whenRight=function(){return"Ketika anak panah kanan"},c.whenRightTooltip=function(){return"Laksanakan tindakan-tindakan di bawah ini ketika tombol panah kanan ditekan."},c.whenSpriteClicked=function(){return"ketika aktor meng-klik"},c.whenSpriteClickedN=function(){return"ketika aktor klik"},c.whenSpriteClickedTooltip=function(){return"Laksanakan tindakan di bawah ini ketika aktor sudah di klik"},c.whenSpriteCollidedN=function(){return"ketika aktor"},c.whenSpriteCollidedTooltip=function(){return"Lakukan kegiatan di bawah ketika seorang aktor menyentuh aktor lainnya"},c.whenSpriteCollidedWith=function(){return"menyentuh"},c.whenSpriteCollidedWithN=function(){return"menyentuh aktor"},c.whenSpriteCollidedWithBlueFireball=function(){return"menyentuh bola api biru"},c.whenSpriteCollidedWithPurpleFireball=function(){return"menyentuh bola api ungu"},c.whenSpriteCollidedWithRedFireball=function(){return"menyentuh bola api merah"},c.whenSpriteCollidedWithYellowHearts=function(){return"menyentuh bola api kuning"},c.whenSpriteCollidedWithPurpleHearts=function(){return"menyentuh bola api ungu"},c.whenSpriteCollidedWithRedHearts=function(){return"menyentuh bola api merah"},c.whenSpriteCollidedWithBottomEdge=function(){return"menyentuh ujung bawah"},c.whenSpriteCollidedWithLeftEdge=function(){return"menyentuh ujung kiri"},c.whenSpriteCollidedWithRightEdge=function(){return"menyentuh ujung kanan"},c.whenSpriteCollidedWithTopEdge=function(){return"menyentuh ujung atas"},c.whenUp=function(){return"Bila tanda panah atas"},c.whenUpTooltip=function(){return"Laksanakan tindakan-tindakan di bawah ini ketika tombol panah keatas ditekan."},c.yes=function(){return"Ya"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring"); d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/is_is/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/is_is/common":40,"../../locale/is_is/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/is_is/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/is_is/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/is_is/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/is_is/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/is_is/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/is_is/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/is_is/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/is_is/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/is_is/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/is_is/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/is_is/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/is_is/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.is=function(a){return 1===a?"one":"other"},c.and=function(){return"og"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Aðgerðir"},c.catColour=function(){return"Litir"},c.catLogic=function(){return"Rökvísi"},c.catLists=function(){return"Listar"},c.catLoops=function(){return"Lykkjur"},c.catMath=function(){return"Reikningur"},c.catProcedures=function(){return"Föll"},c.catText=function(){return"Texti"},c.catVariables=function(){return"Breytur"},c.codeTooltip=function(){return"Sjá samsvarandi JavaScript kóða."},c.continue=function(){return"Áfram"},c.dialogCancel=function(){return"Hætta við"},c.dialogOK=function(){return"Í lagi"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"A"},c.directionWestLetter=function(){return"V"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'Kubbarnir "endurtaka" og "ef" verða að innihalda aðra kubba til að virka. Gættu þess að innri kubburinn smellpassi í ytri kubbinn.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Þú hefur auka kubba sem ekki tengjast atvikakubbi."},c.finalStage=function(){return"Til hamingju! Þú hefur klárað síðasta áfangann."},c.finalStageTrophies=function(a){return"Til hamingju! Þú hefur klárað síðasta áfangann og unnið "+p(a,"numBikara",0,"is",{one:"bikar",other:n(a,"numBikara")+" bikara"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"Kubbana í forritinu þínu er líka hægt að umbreyta í JavaScript, sem er útbreiddasta forritunarmál í heiminum:"},c.hashError=function(){return"Því miður finnst ekkert vistað forrit '%1'."},c.help=function(){return"Hjálp"},c.hintTitle=function(){return"Vísbending:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"Þú ert að nota allar nauðsynlegu tegundirnar af kubbum en ekki á réttan hátt."},c.listVariable=function(){return"listi"},c.makeYourOwnFlappy=function(){return"Búðu til þinn eigin(n) Flappy leik"},c.missingBlocksErrorMsg=function(){return"Reyndu einn eða fleiri af kubbunum hér fyrir neðan til að leysa þessa þraut."},c.nextLevel=function(a){return"Til hamingju! Þú hefur leyst þraut "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Til hamingju! Þú hefur leyst þraut "+v(a,"puzzleNumber")+" og unnið "+p(a,"numTrophies",0,"is",{one:"bikar",other:n(a,"numTrophies")+" bikara"})+"."},c.nextStage=function(a){return"Til hamingju! Þú hefur lokið áfanga "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Til hamingju! Þú kláraðir áfanga "+v(a,"stageNumber")+" og vannst "+p(a,"numTrophies",0,"is",{one:"bikar",other:n(a,"numTrophies")+" bikara"})+"."},c.numBlocksNeeded=function(a){return"Til hamingju! Þú kláraðir þraut "+v(a,"puzzleNumber")+". (En þú hefðir getað notað bara "+p(a,"numBlocks",0,"is",{one:"1 kubb",other:n(a,"numBlocks")+" kubba"})+".)" },c.numLinesOfCodeWritten=function(a){return"Þú náðir að skrifa "+p(a,"numLines",0,"is",{one:"1 línu",other:n(a,"numLines")+" línur"})+" af kóða!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Þraut "+v(a,"puzzle_number")+" af "+v(a,"stage_total")},c.repeat=function(){return"endurtaka"},c.resetProgram=function(){return"Endurstilla"},c.runProgram=function(){return"Keyra forrit"},c.runTooltip=function(){return"Keyra forritið sem samanstendur af kubbunum á vinnusvæðinu."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Sýna kóða"},c.showGeneratedCode=function(){return"Sýna kóða"},c.subtitle=function(){return"sjónrænt forritunarumhverfi"},c.textVariable=function(){return"texti"},c.tooFewBlocksMsg=function(){return"Þú ert að nota allar nauðsynlegu tegundirnar af kubbum, en reyndu að nota fleiri svoleiðis kubba til að leysa þessa þraut."},c.tooManyBlocksMsg=function(){return"Þessa þraut er hægt að leysa með kubbum."},c.tooMuchWork=function(){return"Þú lagðir á mig mjög mikla vinnu! Gætirðu reynt að nota færri endurtekningar?"},c.toolboxHeader=function(){return"Kubbar"},c.openWorkspace=function(){return"Hvernig það virkar"},c.totalNumLinesOfCodeWritten=function(a){return"Samtals: "+p(a,"numLines",0,"is",{one:"1 lína",other:n(a,"numLines")+" línur"})+" af kóða."},c.tryAgain=function(){return"Reyna aftur"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Til baka á fyrra stig"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Skrifaðu JavaScript kóða þinn fyrir neðan þessar leiðbeiningar."},c.typeFuncs=function(){return"Tiltæk föll:%1"},c.typeHint=function(){return"Athugaðu að svigarnir og semikommurnar eru nauðsynlegar."},c.workspaceHeader=function(){return"Settu kubbana saman hér: "},c.infinity=function(){return"Óendanleiki"},c.rotateText=function(){return"Snúðu tækinu þínu."},c.orientationLock=function(){return"Slökktu á stefnulæsingu í stillingum tækis."},c.wantToLearn=function(){return"Viltu læra að kóða?"},c.watchVideo=function(){return"Horfa á videóið"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Prófa Kóðun í klukkustund"},c.signup=function(){return"Skráning á inngangsnámskeiðið"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.is=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Aðgerðir"},c.catControl=function(){return"Lykkjur"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Rökvísi"},c.catMath=function(){return"Reikningur"},c.catProcedures=function(){return"Föll"},c.catText=function(){return"Texti"},c.catVariables=function(){return"Breytur"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Áfram"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Til hamingju! Þú hefur leyst síðustu þrautina."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"skora stig"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"eitthvert"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixlar"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"færa niður"},c.moveDownTooltip=function(){return"Færa spaðann niður."},c.moveLeft=function(){return"færa til vinstri"},c.moveLeftTooltip=function(){return"Færa spaðann til vinstri."},c.moveRight=function(){return"færa til hægri"},c.moveRightTooltip=function(){return"Færa spaðann til hægri."},c.moveUp=function(){return"færa upp"},c.moveUpTooltip=function(){return"Færa spaðann upp."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Til hamingju! Þú hefur klárað þessa þraut."},c.no=function(){return"Nei"},c.numBlocksNeeded=function(){return"Þessa þraut er hægt að leysa með %1 kubbum."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"spila brothljóð"},c.playSoundGoal1=function(){return"spila markhljóð 1"},c.playSoundGoal2=function(){return"spila markhljóð 2"},c.playSoundHit=function(){return"spila áreksturshljóð"},c.playSoundLosePoint=function(){return"spila stigatapshljóð 1"},c.playSoundLosePoint2=function(){return"spila stigatapshljóð 2"},c.playSoundRetro=function(){return"spila retro hljóð"},c.playSoundRubber=function(){return"spila gúmmíhljóð"},c.playSoundSlap=function(){return"spila skellhljóð"},c.playSoundTooltip=function(){return"Spila valið hljóð."},c.playSoundWinPoint=function(){return"spila stigaskorshljóð 1"},c.playSoundWinPoint2=function(){return"spila stigaskorshljóð 2"},c.playSoundWood=function(){return"spila viðarhljóð"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"eitthvert"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"gera"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Stig alls: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Stillir bakgrunnsmynd"},c.setScoreText=function(){return"setja stig á"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"texti"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"setja í"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"þegar niður ör"},c.whenDownTooltip=function(){return"Gera aðgerðirnar fyrir neðan þegar ýtt er á örvarlykil niður."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"þegar vinstri ör"},c.whenLeftTooltip=function(){return"Gera aðgerðirnar fyrir neðan þegar ýtt er á örvarlykil til vinstri."},c.whenRight=function(){return"þegar hægri ör"},c.whenRightTooltip=function(){return"Gera aðgerðirnar fyrir neðan þegar ýtt er á örvarlykil til hægri."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"þegar upp ör"},c.whenUpTooltip=function(){return"Gera aðgerðirnar fyrir neðan þegar ýtt er á örvarlykil upp."},c.yes=function(){return"Já"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j]; if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/it_it/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/it_it/common":40,"../../locale/it_it/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/it_it/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/it_it/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/it_it/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/it_it/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/it_it/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/it_it/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/it_it/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/it_it/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/it_it/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/it_it/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/it_it/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/it_it/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.it=function(a){return 1===a?"one":"other"},c.and=function(){return"e"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Azioni"},c.catColour=function(){return"Colore"},c.catLogic=function(){return"Logica"},c.catLists=function(){return"Liste"},c.catLoops=function(){return"Ripetizioni"},c.catMath=function(){return"Matematica"},c.catProcedures=function(){return"Funzioni"},c.catText=function(){return"Testo"},c.catVariables=function(){return"Variabili"},c.codeTooltip=function(){return"Guarda il codice JavaScript generato."},c.continue=function(){return"Prosegui"},c.dialogCancel=function(){return"Annulla"},c.dialogOK=function(){return"Ok"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"O"},c.end=function(){return"fine"},c.emptyBlocksErrorMsg=function(){return'Il blocco "ripeti" o "se" deve avere all\'interno altri blocchi per poter funzionare. Assicurati che i blocchi interni siano inseriti correttamente all\'interno del blocco principale.'},c.emptyFunctionBlocksErrorMsg=function(){return"Una funzione ha bisogno di altri blocchi al suo interno."},c.extraTopBlocks=function(){return"Ci sono blocchi che non sono attaccati ad un blocco evento."},c.finalStage=function(){return"Complimenti! Hai completato l'ultima lezione."},c.finalStageTrophies=function(a){return"Complimenti! Hai completato l'ultima lezione e vinto "+p(a,"numTrophies",0,"it",{one:"un trofeo",other:n(a,"numTrophies")+" trofei"})+"."},c.finish=function(){return"Condividi"},c.generatedCodeInfo=function(a){return"Anche le migliori università (p.es., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+") insegnano la programmazione visuale con i blocchi. Ma i blocchi che metti insieme possono essere rappresentati anche in JavaScript, uno dei linguaggi di programmazione più usati al mondo:"},c.hashError=function(){return"Siamo spiacenti, '%1' non corrisponde ad alcun programma salvato."},c.help=function(){return"Aiuto"},c.hintTitle=function(){return"Suggerimento:"},c.jump=function(){return"salta"},c.levelIncompleteError=function(){return"Stai usando tutti i tipi di blocchi necessari, ma non nel modo giusto."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Costruisci la tua versione del gioco Flappy"},c.missingBlocksErrorMsg=function(){return"Prova uno o più dei blocchi che trovi qui sotto per risolvere questo esercizio."},c.nextLevel=function(a){return"Complimenti! Hai completato l'esercizio "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Complimenti! Hai completato l'esercizio "+v(a,"puzzleNumber")+" e vinto "+p(a,"numTrophies",0,"it",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Complimenti! Hai completato la lezione "+v(a,"stageName")+"." },c.nextStageTrophies=function(a){return"Complimenti! Hai completato la lezione "+v(a,"stageName")+" e vinto "+p(a,"numTrophies",0,"it",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Complimenti! Hai completato l'esercizio "+v(a,"puzzleNumber")+". (Avresti però potuto usare solo "+p(a,"numBlocks",0,"it",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"Hai appena scritto "+p(a,"numLines",0,"it",{one:"1 linea",other:n(a,"numLines")+" linee"})+" di codice!"},c.play=function(){return"inizia"},c.puzzleTitle=function(a){return"Esercizio "+v(a,"puzzle_number")+" di "+v(a,"stage_total")},c.repeat=function(){return"ripeti"},c.resetProgram=function(){return"Ricomincia"},c.runProgram=function(){return"Esegui"},c.runTooltip=function(){return"Esegui il programma definito dai blocchi nell'area di lavoro."},c.score=function(){return"punteggio"},c.showCodeHeader=function(){return"Mostra il codice"},c.showGeneratedCode=function(){return"Mostra il codice"},c.subtitle=function(){return"un ambiente di programmazione visuale"},c.textVariable=function(){return"testo"},c.tooFewBlocksMsg=function(){return"Stai usando tutti i tipi di blocchi necessari, ma prova usando più blocchi o usandoli diversamente."},c.tooManyBlocksMsg=function(){return"Questo esercizio può essere risolto con blocchi."},c.tooMuchWork=function(){return"Mi hai fatto fare un sacco di lavoro! Puoi provare a farmi fare meno ripetizioni?"},c.toolboxHeader=function(){return"Blocchi"},c.openWorkspace=function(){return"Come funziona"},c.totalNumLinesOfCodeWritten=function(a){return"Totale complessivo: "+p(a,"numLines",0,"it",{one:"1 linea",other:n(a,"numLines")+" linee"})+" di codice."},c.tryAgain=function(){return"Riprova"},c.hintRequest=function(){return"Vedere il suggerimento"},c.backToPreviousLevel=function(){return"Torna al livello precedente"},c.saveToGallery=function(){return"Salva nella tua galleria"},c.savedToGallery=function(){return"Salvato nella tua galleria!"},c.typeCode=function(){return"Digita il tuo codice JavaScript sotto queste istruzioni."},c.typeFuncs=function(){return"Funzioni disponibili: %1"},c.typeHint=function(){return"Sono necessarie le parentesi e i punto e virgola."},c.workspaceHeader=function(){return"Assembla i tuoi blocchi qui: "},c.infinity=function(){return"Infinito"},c.rotateText=function(){return"Ruota il dispositivo."},c.orientationLock=function(){return"Disattiva il blocco dell'orientamento nelle impostazioni del dispositivo."},c.wantToLearn=function(){return"Vuoi imparare a programmare?"},c.watchVideo=function(){return"Guarda il video"},c.when=function(){return"quando"},c.whenRun=function(){return'quando si clicca su "Esegui"'},c.tryHOC=function(){return"Prova l'Ora del Codice"},c.signup=function(){return"Iscriviti al corso introduttivo"},c.hintHeader=function(){return"Ecco un suggerimento:"},c.genericFeedback=function(){return"Verifica il risultato e prova a correggere il tuo programma."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.it=function(a){return 1===a?"one":"other"},c.actor=function(){return"personaggio"},c.catActions=function(){return"Azioni"},c.catControl=function(){return"Ripetizioni"},c.catEvents=function(){return"Eventi"},c.catLogic=function(){return"Logica"},c.catMath=function(){return"Matematica"},c.catProcedures=function(){return"Funzioni"},c.catText=function(){return"Testo"},c.catVariables=function(){return"Variabili"},c.changeScoreTooltip=function(){return"Aggiungi o rimuovi un punto dal punteggio."},c.changeScoreTooltipK1=function(){return"Aggiungi un punto al punteggio."},c.continue=function(){return"Prosegui"},c.decrementPlayerScore=function(){return"rimuovi un punto"},c.defaultSayText=function(){return"scrivi qua"},c.emotion=function(){return"umore"},c.finalLevel=function(){return"Complimenti! Hai risolto l'esercizio finale."},c.hello=function(){return"ciao"},c.helloWorld=function(){return"Ciao a tutti!"},c.incrementPlayerScore=function(){return"aggiungi un punto"},c.makeProjectileDisappear=function(){return"scompari"},c.makeProjectileBounce=function(){return"rimbalzo"},c.makeProjectileBlueFireball=function(){return"fai una palla di fuoco blu"},c.makeProjectilePurpleFireball=function(){return"fai una palla di fuoco viola"},c.makeProjectileRedFireball=function(){return"fai una palla di fuoco rossa"},c.makeProjectileYellowHearts=function(){return"fai dei cuori gialli"},c.makeProjectilePurpleHearts=function(){return"fai dei cuori viola"},c.makeProjectileRedHearts=function(){return"fai dei cuori rossi"},c.makeProjectileTooltip=function(){return"Fai scomparire o rimbalzare il proiettile appena urta."},c.makeYourOwn=function(){return"Crea La Tua Storia"},c.moveDirectionDown=function(){return"basso"},c.moveDirectionLeft=function(){return"sinistra"},c.moveDirectionRight=function(){return"destra"},c.moveDirectionUp=function(){return"alto"},c.moveDirectionRandom=function(){return"scelta a caso"},c.moveDistance25=function(){return"25 pixel"},c.moveDistance50=function(){return"50 pixel"},c.moveDistance100=function(){return"100 pixel"},c.moveDistance200=function(){return"200 pixel"},c.moveDistance400=function(){return"400 pixel"},c.moveDistancePixels=function(){return"pixel"},c.moveDistanceRandom=function(){return"pixel scelti a caso"},c.moveDistanceTooltip=function(){return"Sposta un personaggio della distanza specificata nella direzione specificata."},c.moveSprite=function(){return"sposta"},c.moveSpriteN=function(a){return"sposta il personaggio "+v(a,"spriteIndex")},c.moveDown=function(){return"sposta in basso"},c.moveDownTooltip=function(){return"Sposta un personaggio verso il basso."},c.moveLeft=function(){return"sposta a sinistra"},c.moveLeftTooltip=function(){return"Sposta un personaggio verso sinistra."},c.moveRight=function(){return"sposta a destra"},c.moveRightTooltip=function(){return"Sposta un personaggio verso destra."},c.moveUp=function(){return"sposta in alto"},c.moveUpTooltip=function(){return"Sposta un personaggio verso l'alto."},c.moveTooltip=function(){return"Sposta un personaggio."},c.nextLevel=function(){return"Complimenti! Hai completato questo esercizio."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"Questo esercizio può essere risolto con %1 blocchi."},c.ouchExclamation=function(){return"Ahi!"},c.playSoundCrunch=function(){return"riproduci il suono di uno sgranocchiamento"},c.playSoundGoal1=function(){return"riproduci il suono per un obiettivo raggiunto"},c.playSoundGoal2=function(){return"riproduci il suono per un obiettivo raggiunto (versione alternativa)"},c.playSoundHit=function(){return"riproduci il suono di un colpo"},c.playSoundLosePoint=function(){return"riproduci il suono di un punto perso"},c.playSoundLosePoint2=function(){return"riproduci il suono di un punto perso (versione alternativa)"},c.playSoundRetro=function(){return"riproduci un suono retrò"},c.playSoundRubber=function(){return"riproduci il suono della gomma"},c.playSoundSlap=function(){return"riproduci il suono di uno schiaffo"},c.playSoundTooltip=function(){return"Riproduci il suono scelto."},c.playSoundWinPoint=function(){return"riproduci il suono di un punto vinto"},c.playSoundWinPoint2=function(){return"riproduci il suono di un punto vinto (versione alternativa)"},c.playSoundWood=function(){return"riproduci il suono del legno"},c.positionOutTopLeft=function(){return"alla posizione a sinistra sopra la cima"},c.positionOutTopRight=function(){return"alla posizione a destra sopra la cima"},c.positionTopOutLeft=function(){return"alla posizione a sinistra esterna alla cima"},c.positionTopLeft=function(){return"alla posizione in alto a sinistra"},c.positionTopCenter=function(){return"alla posizione in alto al centro"},c.positionTopRight=function(){return"alla posizione in alto a destra"},c.positionTopOutRight=function(){return"alla posizione a destra esterna alla cima"},c.positionMiddleLeft=function(){return"alla posizione nel mezzo a sinistra"},c.positionMiddleCenter=function(){return"alla posizione nel mezzo al centro"},c.positionMiddleRight=function(){return"alla posizione nel mezzo a destra"},c.positionBottomOutLeft=function(){return"alla posizione a sinistra esterna al fondo"},c.positionBottomLeft=function(){return"alla posizione in basso a sinistra"},c.positionBottomCenter=function(){return"alla posizione in basso al centro"},c.positionBottomRight=function(){return"alla posizione in basso a destra"},c.positionBottomOutRight=function(){return"alla posizione a destra esterna al fondo"},c.positionOutBottomLeft=function(){return"alla posizione a sinistra sotto il fondo"},c.positionOutBottomRight=function(){return"alla posizione destra sotto il fondo"},c.positionRandom=function(){return"alla posizione scelta a caso"},c.projectileBlueFireball=function(){return"palla di fuoco blu"},c.projectilePurpleFireball=function(){return"palla di fuoco viola"},c.projectileRedFireball=function(){return"palla di fuoco rossa"},c.projectileYellowHearts=function(){return"cuori gialli"},c.projectilePurpleHearts=function(){return"cuori viola"},c.projectileRedHearts=function(){return"cuori rossi"},c.projectileRandom=function(){return"scelto a caso"},c.reinfFeedbackMsg=function(){return'Premi "Ricomincia" per ricominciare a raccontare la tua storia.'},c.repeatForever=function(){return"ripeti per sempre"},c.repeatDo=function(){return"fai"},c.repeatForeverTooltip=function(){return"Esegui ripetutamente le azioni in questo blocco mentre la storia è in esecuzione."},c.saySprite=function(){return"di'"},c.saySpriteN=function(a){return"il personaggio "+v(a,"spriteIndex")+" dice"},c.saySpriteTooltip=function(){return"Visualizza un fumetto con il testo associato del personaggio specificato."},c.scoreText=function(a){return"Punteggio: "+v(a,"playerScore")},c.setBackground=function(){return"imposta lo sfondo"},c.setBackgroundRandom=function(){return"imposta uno sfondo scelto a caso"},c.setBackgroundBlack=function(){return"imposta lo sfondo nero"},c.setBackgroundCave=function(){return"imposta lo sfondo Grotta"},c.setBackgroundCloudy=function(){return"imposta lo sfondo nuvoloso"},c.setBackgroundHardcourt=function(){return"imposta lo sfondo per polo"},c.setBackgroundNight=function(){return"imposta lo sfondo notturno"},c.setBackgroundUnderwater=function(){return"imposta lo sfondo Sottomarino"},c.setBackgroundCity=function(){return"imposta lo sfondo Città"},c.setBackgroundDesert=function(){return"imposta lo sfondo Deserto"},c.setBackgroundRainbow=function(){return"imposta lo sfondo Arcobaleno"},c.setBackgroundSoccer=function(){return"imposta lo sfondo Campo da Calcio"},c.setBackgroundSpace=function(){return"imposta lo sfondo Spaziale"},c.setBackgroundTennis=function(){return"imposta lo sfondo Campo da Tennis"},c.setBackgroundWinter=function(){return"imposta lo sfondo Inverno"},c.setBackgroundTooltip=function(){return"Imposta l'immagine di sfondo"},c.setScoreText=function(){return"imposta il punteggio"},c.setScoreTextTooltip=function(){return"Imposta il testo da visualizzare nell'area del punteggio."},c.setSpriteEmotionAngry=function(){return"ad un umore arrabbiato"},c.setSpriteEmotionHappy=function(){return"ad un umore felice"},c.setSpriteEmotionNormal=function(){return"ad un umore normale"},c.setSpriteEmotionRandom=function(){return"ad un umore scelto a caso"},c.setSpriteEmotionSad=function(){return"ad un umore triste"},c.setSpriteEmotionTooltip=function(){return"Imposta l'umore del personaggio"},c.setSpriteAlien=function(){return"all'immagine di un alieno"},c.setSpriteBat=function(){return"all'immagine di un pipistrello"},c.setSpriteBird=function(){return"all'immagine di un uccello"},c.setSpriteCat=function(){return"all'immagine di un gatto"},c.setSpriteCaveBoy=function(){return"all'immagine di un cavernicolo"},c.setSpriteCaveGirl=function(){return"all'immagine di una cavernicola"},c.setSpriteDinosaur=function(){return"all'immagine di un dinosauro"},c.setSpriteDog=function(){return"all'immagine di un gatto"},c.setSpriteDragon=function(){return"all'immagine di un drago"},c.setSpriteGhost=function(){return"all'immagine di un fantasma"},c.setSpriteHidden=function(){return"a un'immagine nascosta"},c.setSpriteHideK1=function(){return"nascondi"},c.setSpriteKnight=function(){return"all'immagine di un cavaliere"},c.setSpriteMonster=function(){return"all'immagine di un mostro"},c.setSpriteNinja=function(){return"all'immagine di un ninja mascherato"},c.setSpriteOctopus=function(){return"all'immagine di un polpo"},c.setSpritePenguin=function(){return"all'immagine di un pinguino"},c.setSpritePirate=function(){return"all'immagine di un pirata"},c.setSpritePrincess=function(){return"all'immagine di una principessa"},c.setSpriteRandom=function(){return"a un'immagine scelta a caso"},c.setSpriteRobot=function(){return"all'immagine di un robot"},c.setSpriteShowK1=function(){return"mostra"},c.setSpriteSpacebot=function(){return"all'immagine di un robot spaziale"},c.setSpriteSoccerGirl=function(){return"all'immagine di una calciatrice"},c.setSpriteSoccerBoy=function(){return"all'immagine di un calciatore"},c.setSpriteSquirrel=function(){return"all'immagine di uno scoiattolo"},c.setSpriteTennisGirl=function(){return"all'immagine di una tennista"},c.setSpriteTennisBoy=function(){return"all'immagine di un tennista"},c.setSpriteUnicorn=function(){return"all'immagine di un unicorno"},c.setSpriteWitch=function(){return"a un'immagine di strega"},c.setSpriteWizard=function(){return"all'immagine di un mago"},c.setSpritePositionTooltip=function(){return"Sposta istantaneamente un personaggio nella posizione specificata."},c.setSpriteK1Tooltip=function(){return"Mostra o nascondi il personaggio specificato."},c.setSpriteTooltip=function(){return"Imposta l'immagine del personaggio"},c.setSpriteSizeRandom=function(){return"ad un valore casuale"},c.setSpriteSizeVerySmall=function(){return"ad un valore molto piccolo"},c.setSpriteSizeSmall=function(){return"ad un valore piccolo"},c.setSpriteSizeNormal=function(){return"ad un valore normale"},c.setSpriteSizeLarge=function(){return"ad un valore grande"},c.setSpriteSizeVeryLarge=function(){return"ad un valore molto grande"},c.setSpriteSizeTooltip=function(){return"Imposta la dimensione di un personaggio"},c.setSpriteSpeedRandom=function(){return"a una velocità scelta a caso"},c.setSpriteSpeedVerySlow=function(){return"a una velocità molto lenta"},c.setSpriteSpeedSlow=function(){return"a una velocità lenta"},c.setSpriteSpeedNormal=function(){return"a una velocità normale"},c.setSpriteSpeedFast=function(){return"a una velocità veloce"},c.setSpriteSpeedVeryFast=function(){return"a una velocità molto veloce"},c.setSpriteSpeedTooltip=function(){return"Imposta la velocità di un personaggio"},c.setSpriteZombie=function(){return"all'immagine di uno zombie"},c.shareStudioTwitter=function(){return"Guarda la storia che ho creato io. L'ho fatta per conto mio @codeorg"},c.shareGame=function(){return"Condividi la tua storia:"},c.showTitleScreen=function(){return"mostra la schermata del titolo"},c.showTitleScreenTitle=function(){return"titolo"},c.showTitleScreenText=function(){return"testo"},c.showTSDefTitle=function(){return"scrivi qua il titolo"},c.showTSDefText=function(){return"scrivi qua il testo"},c.showTitleScreenTooltip=function(){return"Mostra la schermata iniziale con titolo e testo."},c.setSprite=function(){return"imposta"},c.setSpriteN=function(a){return"imposta il personaggio "+v(a,"spriteIndex")},c.soundCrunch=function(){return"sgranocchiamento"},c.soundGoal1=function(){return"obiettivo raggiunto"},c.soundGoal2=function(){return"obiettivo raggiunto (versione alternativa)"},c.soundHit=function(){return"colpo"},c.soundLosePoint=function(){return"punto perso"},c.soundLosePoint2=function(){return"punto perso (versione alternativa)"},c.soundRetro=function(){return"retrò"},c.soundRubber=function(){return"gomma"},c.soundSlap=function(){return"schiaffo"},c.soundWinPoint=function(){return"punto vinto"},c.soundWinPoint2=function(){return"punto vinto (versione alternativa)"},c.soundWood=function(){return"legno"},c.speed=function(){return"velocità"},c.stopSprite=function(){return"ferma"},c.stopSpriteN=function(a){return"ferma il personaggio "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Ferma il movimento di un personaggio."},c.throwSprite=function(){return"lancia"},c.throwSpriteN=function(a){return"il personaggio "+v(a,"spriteIndex")+" lancia"},c.throwTooltip=function(){return"Lancia un proiettile dal personaggio specificato."},c.vanish=function(){return"fai svanire"},c.vanishActorN=function(a){return"fai svanire il personaggio "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Fa svanire il personaggio."},c.waitFor=function(){return"aspetta per"},c.waitSeconds=function(){return"secondi"},c.waitForClick=function(){return"aspetta il clic"},c.waitForRandom=function(){return"aspetta a caso"},c.waitForHalfSecond=function(){return"aspetta per mezzo secondo"},c.waitFor1Second=function(){return"aspetta per 1 secondo"},c.waitFor2Seconds=function(){return"aspetta per 2 secondi"},c.waitFor5Seconds=function(){return"aspetta per 5 secondi"},c.waitFor10Seconds=function(){return"aspetta per 10 secondi"},c.waitParamsTooltip=function(){return"Aspetta per il numero di secondi specificato (se è zero aspetta fino ad un clic)."},c.waitTooltip=function(){return"Aspetta una quantità di tempo specificata oppure il verificarsi di un clic."},c.whenArrowDown=function(){return"freccia in basso"},c.whenArrowLeft=function(){return"freccia a sinistra"},c.whenArrowRight=function(){return"freccia a destra"},c.whenArrowUp=function(){return"freccia in alto"},c.whenArrowTooltip=function(){return"Esegui le azioni sotto indicate quando viene premuta la freccia specificata."},c.whenDown=function(){return"quando la freccia in basso"},c.whenDownTooltip=function(){return'Esegue le azioni qua sotto quando viene premuto il tasto "freccia in basso".'},c.whenGameStarts=function(){return"quando la storia inizia"},c.whenGameStartsTooltip=function(){return"Esegue le azioni qua sotto quando la storia inizia."},c.whenLeft=function(){return"quando la freccia a sinistra"},c.whenLeftTooltip=function(){return'Esegue le azioni qua sotto quando viene premuto il tasto "freccia a sinistra".'},c.whenRight=function(){return"quando la freccia a destra"},c.whenRightTooltip=function(){return'Esegue le azioni qua sotto quando viene premuto il tasto "freccia a destra".'},c.whenSpriteClicked=function(){return"quando si clicca sul personaggio"},c.whenSpriteClickedN=function(a){return"quando si clicca sul personaggio "+v(a,"spriteIndex")},c.whenSpriteClickedTooltip=function(){return"Esegui le azioni qua sotto quando si clicca su un personaggio."},c.whenSpriteCollidedN=function(a){return"quando il personaggio "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Esegui le azioni qua sotto quando un personaggio tocca un altro personaggio."},c.whenSpriteCollidedWith=function(){return"tocca"},c.whenSpriteCollidedWithN=function(a){return"tocca il personaggio "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"tocca la palla di fuoco blu"},c.whenSpriteCollidedWithPurpleFireball=function(){return"tocca la palla di fuoco viola"},c.whenSpriteCollidedWithRedFireball=function(){return"tocca la palla di fuoco rossa"},c.whenSpriteCollidedWithYellowHearts=function(){return"tocca i cuori gialli"},c.whenSpriteCollidedWithPurpleHearts=function(){return"tocca i cuori viola"},c.whenSpriteCollidedWithRedHearts=function(){return"tocca i cuori rossi"},c.whenSpriteCollidedWithBottomEdge=function(){return"tocca il bordo inferiore"},c.whenSpriteCollidedWithLeftEdge=function(){return"tocca il bordo a sinistra"},c.whenSpriteCollidedWithRightEdge=function(){return"tocca il bordo a destra"},c.whenSpriteCollidedWithTopEdge=function(){return"tocca il bordo superiore"},c.whenUp=function(){return"quando la freccia in alto"},c.whenUpTooltip=function(){return'Esegue le azioni qua sotto quando viene premuto il tasto "freccia in alto".'},c.yes=function(){return"Sì"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ja_jp/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ja_jp/common":40,"../../locale/ja_jp/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ja_jp/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ja_jp/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ja_jp/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ja_jp/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ja_jp/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ja_jp/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ja_jp/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ja_jp/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ja_jp/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ja_jp/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ja_jp/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ja_jp/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ja=function(){return"other"},c.and=function(){return"そして"},c.blocklyMessage=function(){return"ブロック状の"},c.catActions=function(){return"操作"},c.catColour=function(){return"色"},c.catLogic=function(){return"ロジック(論理)"},c.catLists=function(){return"リスト"},c.catLoops=function(){return"繰り返し"},c.catMath=function(){return"数値"},c.catProcedures=function(){return"関数"},c.catText=function(){return"文字列"},c.catVariables=function(){return"変数"},c.codeTooltip=function(){return"生成されたJavaScriptコードを見る。"},c.continue=function(){return"次へ"},c.dialogCancel=function(){return"キャンセル"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"北"},c.directionSouthLetter=function(){return"南"},c.directionEastLetter=function(){return"東"},c.directionWestLetter=function(){return"西"},c.end=function(){return"終了"},c.emptyBlocksErrorMsg=function(){return'”Repeat”または"If"のブロックを動作をさせるためには内側に別のブロックが必要になります。内側のブロックが構成されているブロック 内に適切にはめ込まれているか確認をしてください。\n\n\n'},c.emptyFunctionBlocksErrorMsg=function(){return"関数ブロックは、中に他のブロックがないと動きません。"},c.extraTopBlocks=function(){return"イベントブロックに付いていない余分なブロックがあります。"},c.finalStage=function(){return"おめでとうございます !最終ステージをクリアしました。"},c.finalStageTrophies=function(a){return"おめでとうございます !最終ステージをクリアしたので "+p(a,"numTrophies",0,"ja",{one:"トロフィー",other:n(a,"numTrophies")+" トロフィー"})+"を獲得しました。"},c.finish=function(){return"完了"},c.generatedCodeInfo=function(a){return"トップの大学(例えば、"+v(a,"berkeleyLink")+" "+v(a,"harvardLink")+")でもブロック ベースのプログラミングを教えています 。でも、どうなっているか確認できるように、あなたが書いたブロックを世界で最も広く使用されるプログラム言語の JavaScript で表示できます。"},c.hashError=function(){return"申し訳ありませんが、'%1'は保存されているプログラムと一致しません。"},c.help=function(){return"ヘルプ"},c.hintTitle=function(){return"ヒント:"},c.jump=function(){return"ジャンプ"},c.levelIncompleteError=function(){return"構成に必要なブロックをすべて使っていますが、使い方が適切ではありません。"},c.listVariable=function(){return"リスト"},c.makeYourOwnFlappy=function(){return"自分だけの「パタパタゲーム」を作りましょう。"},c.missingBlocksErrorMsg=function(){return"下にある一つ以上のブロックを使ってこのパズルを解いてみましょう。"},c.nextLevel=function(a){return"おめでとうございます !あなたはパズルを "+v(a,"puzzleNumber")+" 完了しました。"},c.nextLevelTrophies=function(a){return"おめでとうございます !あなたはパズル "+v(a,"puzzleNumber")+" を完了し、"+p(a,"numTrophies",0,"ja",{one:"トロフィー",other:n(a,"numTrophies")+" トロフィー"})+"を獲得しました。"},c.nextStage=function(a){return"おめでとうございます !"+v(a,"stageName")+"を コンプリートしました。"},c.nextStageTrophies=function(a){return"おめでとうございます!あなたはステージ "+v(a,"stageNumber")+" をクリアし、"+p(a,"numTrophies",0,"ja",{one:"トロフィー",other:n(a,"numTrophies")+" トロフィー"})+"を獲得しました。"},c.numBlocksNeeded=function(a){return"おめでとうございます !あなたはパズル "+v(a,"puzzleNumber")+" を完了しました。 (もしくは "+p(a,"numBlocks",0,"ja",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+" のみの使用だけでも可能でした。)"},c.numLinesOfCodeWritten=function(a){return"あなたはたった今 "+p(a,"numLines",0,"ja",{one:"1 ライン",other:n(a,"numLines")+" ライン"})+" のコードを書きました!\n"},c.play=function(){return"再生" },c.puzzleTitle=function(a){return"パズル "+v(a,"puzzle_number")+" の "+v(a,"stage_total")},c.repeat=function(){return"繰り返し"},c.resetProgram=function(){return"リセット"},c.runProgram=function(){return"実行"},c.runTooltip=function(){return"ワークスペース内のブロックによって定義されたプログラムを実行します。\n"},c.score=function(){return"スコア"},c.showCodeHeader=function(){return"コードの表示"},c.showGeneratedCode=function(){return"コードの表示"},c.subtitle=function(){return"ビジュアル・プログラミング環境"},c.textVariable=function(){return"テキスト"},c.tooFewBlocksMsg=function(){return"必要なすべての種類のブロックを使用していますが、このパズルを完成させるために、選択した種類のブロックの中から複数を選んでもう一度試してください。"},c.tooManyBlocksMsg=function(){return"このパズルは ブロックで解決する事ができます。\n"},c.tooMuchWork=function(){return"ちょっと作業が多すぎますね!もう少し繰り返し回数を少なくできませんか?"},c.toolboxHeader=function(){return"ブロック"},c.openWorkspace=function(){return"仕組み"},c.totalNumLinesOfCodeWritten=function(a){return"すべての時間の合計: コードの "+p(a,"numLines",0,"ja",{one:"1 ライン",other:n(a,"numLines")+" ライン"})+"。\n"},c.tryAgain=function(){return"やり直す"},c.hintRequest=function(){return"ヒントを見る"},c.backToPreviousLevel=function(){return"前のレベルに戻る"},c.saveToGallery=function(){return"ギャラリーに保存"},c.savedToGallery=function(){return"ギャラリーに保存しました!"},c.typeCode=function(){return"これらの指示の下、JavaScript のコードを入力してください。"},c.typeFuncs=function(){return"利用可能な機能:%1"},c.typeHint=function(){return"カッコとセミコロンが必要な事に注意してください。"},c.workspaceHeader=function(){return"ここでブロックを組み立てよう:"},c.infinity=function(){return"無限\n"},c.rotateText=function(){return"お使いのデバイスを回転させてください。"},c.orientationLock=function(){return"デバイスの設定にあるオリエンテーション(方向)ロックをオフにしてください。"},c.wantToLearn=function(){return"プログラムを習いたい?"},c.watchVideo=function(){return"ビデオを見る"},c.when=function(){return"とき"},c.whenRun=function(){return"実行時"},c.tryHOC=function(){return"1時間コース(Hour of Code)を試す"},c.signup=function(){return"イントロのコースに申し込む"},c.hintHeader=function(){return"ちょび技があるよ:"},c.genericFeedback=function(){return"どうなったかよく見て、プログラムを直してみよう。"}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ja=function(){return"other"},c.actor=function(){return"俳優"},c.catActions=function(){return"操作"},c.catControl=function(){return"繰り返し"},c.catEvents=function(){return"イベント"},c.catLogic=function(){return"ロジック(論理)"},c.catMath=function(){return"数学"},c.catProcedures=function(){return"関数"},c.catText=function(){return"テキスト"},c.catVariables=function(){return"変数"},c.changeScoreTooltip=function(){return"スコアへポイントを追加または削除します。"},c.changeScoreTooltipK1=function(){return"スコアにポイントを追加します。"},c.continue=function(){return"続行"},c.decrementPlayerScore=function(){return"ポイントを消します。"},c.defaultSayText=function(){return"ここに入力。"},c.emotion=function(){return"気分"},c.finalLevel=function(){return"おめでとうございます !最後のパズルを解決しました。"},c.hello=function(){return"こんにちは"},c.helloWorld=function(){return"世界よこんにちは!"},c.incrementPlayerScore=function(){return"ポイントを採点する。"},c.makeProjectileDisappear=function(){return"消える"},c.makeProjectileBounce=function(){return"バウンス"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"あなたのストーリーを作る"},c.moveDirectionDown=function(){return"下"},c.moveDirectionLeft=function(){return"左"},c.moveDirectionRight=function(){return"右"},c.moveDirectionUp=function(){return"上"},c.moveDirectionRandom=function(){return"ランダム"},c.moveDistance25=function(){return"25 ピクセル"},c.moveDistance50=function(){return"50 ピクセル"},c.moveDistance100=function(){return"100 ピクセル"},c.moveDistance200=function(){return"200 ピクセル"},c.moveDistance400=function(){return"400 ピクセル"},c.moveDistancePixels=function(){return"ピクセル"},c.moveDistanceRandom=function(){return"ランダムなピクセル"},c.moveDistanceTooltip=function(){return"俳優を指定方向に特定距離で移動させる。"},c.moveSprite=function(){return"移動"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"下に移動します。"},c.moveDownTooltip=function(){return"俳優を下に移動します。"},c.moveLeft=function(){return"左に移動"},c.moveLeftTooltip=function(){return"俳優を左に移動します。"},c.moveRight=function(){return"右に移動します。"},c.moveRightTooltip=function(){return"アクターを右に移動します。"},c.moveUp=function(){return"上に移動します。"},c.moveUpTooltip=function(){return"俳優を上に移動します。"},c.moveTooltip=function(){return"俳優を移動します。"},c.nextLevel=function(){return"おめでとうございます !このパズルを完了しました。"},c.no=function(){return"いいえ"},c.numBlocksNeeded=function(){return"このパズルは%1個のブロックで解けます。"},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"バリバリする音を再生しなさい。"},c.playSoundGoal1=function(){return"目標 1 のサウンドを再生します。"},c.playSoundGoal2=function(){return"目標 2 サウンドを再生します。"},c.playSoundHit=function(){return"サウンドを押して再生します。"},c.playSoundLosePoint=function(){return"失点音の再生してください。"},c.playSoundLosePoint2=function(){return"失点音2の再生をしてください。"},c.playSoundRetro=function(){return"レトロなサウンドを再生します。"},c.playSoundRubber=function(){return"ゴムの音を再生します。"},c.playSoundSlap=function(){return"平手打ちの音を再生します。"},c.playSoundTooltip=function(){return"選択音を再生"},c.playSoundWinPoint=function(){return"勝利ポイントの音を再生します。"},c.playSoundWinPoint2=function(){return"勝利ポイント2の音を再生します。"},c.playSoundWood=function(){return"木製の音を再生します。"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"ランダム"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"する"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(){return"得点:"},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"背景画像を設定"},c.setScoreText=function(){return"得点を設定"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"テキスト"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"セット"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"矢印が下のとき"},c.whenDownTooltip=function(){return"下向きの矢印キーが押されたとき次のアクションを実行します。"},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"左矢印"},c.whenLeftTooltip=function(){return"下向きの矢印キーが押されたとき以下のアクションを実行します。"},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"はい"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||""; this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ko_kr/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ko_kr/common":40,"../../locale/ko_kr/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ko_kr/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ko_kr/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ko_kr/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ko_kr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ko_kr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ko_kr/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ko_kr/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ko_kr/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ko_kr/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ko_kr/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ko_kr/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ko_kr/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ko=function(){return"other"},c.and=function(){return"이면서"},c.blocklyMessage=function(){return"Blockly(블러클리)"},c.catActions=function(){return"동작"},c.catColour=function(){return"색"},c.catLogic=function(){return"논리"},c.catLists=function(){return"리스트"},c.catLoops=function(){return"반복"},c.catMath=function(){return"계산"},c.catProcedures=function(){return"함수"},c.catText=function(){return"문장"},c.catVariables=function(){return"변수"},c.codeTooltip=function(){return"자바스크립트(JavaScript) 코드 보기."},c.continue=function(){return"계속하기"},c.dialogCancel=function(){return"취소"},c.dialogOK=function(){return"확인"},c.directionNorthLetter=function(){return"북"},c.directionSouthLetter=function(){return"남"},c.directionEastLetter=function(){return"동"},c.directionWestLetter=function(){return"서"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'"반복" 블럭이나 "조건" 블럭이 실행되려면, 그 안에 다른 블럭들이 있어야 합니다. 블럭 안쪽에 필요한 블럭들을 끼워 맞춰 연결하세요.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"이벤트 블럭에 연결하지 않은 남는 블럭이 있습니다."},c.finalStage=function(){return"축하합니다! 마지막 단계까지 성공적으로 해결했습니다."},c.finalStageTrophies=function(a){return"축하합니다! 마지막 단계까지 성공적으로 해결했고, "+p(a,"numTrophies",0,"ko",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+" 을 얻었습니다."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"프로그래밍한 블럭들은 그대로 자바스크립트(JavaScript) 언어로 변환될 수 있습니다:"},c.hashError=function(){return"죄송합니다. 저장된 '%1' 프로그램은 없습니다."},c.help=function(){return"도움말"},c.hintTitle=function(){return"힌트:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"필요한 블럭들을 모두 사용했지만, 정확한 방법은 아닙니다."},c.listVariable=function(){return"리스트"},c.makeYourOwnFlappy=function(){return"자신만의 플래피 게임을 만들어보세요."},c.missingBlocksErrorMsg=function(){return"퍼즐을 풀기 위해 아래 블럭들을 더 사용해 보세요."},c.nextLevel=function(a){return"축하합니다! "+v(a,"puzzleNumber")+" 번 퍼즐을 해결했습니다."},c.nextLevelTrophies=function(a){return"축하합니다! "+v(a,"puzzleNumber")+" 번 퍼즐을 해결하고, "+p(a,"numTrophies",0,"ko",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+" 를 얻었습니다."},c.nextStage=function(a){return"축하드립니다! "+v(a,"stageName")+"을(를) 완료하셨습니다."},c.nextStageTrophies=function(a){return"축하합니다! "+v(a,"stageNumber")+" 단계를 성공적으로 해결했고, "+p(a,"numTrophies",0,"ko",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+" 을 얻었습니다."},c.numBlocksNeeded=function(a){return"축하합니다! "+v(a,"puzzleNumber")+" 번 퍼즐을 해결했습니다. (하지만, "+p(a,"numBlocks",0,"ko",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+" 만 사용해야 합니다.)"},c.numLinesOfCodeWritten=function(a){return"오! 코드 "+p(a,"numLines",0,"ko",{one:"1 line",other:n(a,"numLines")+" 줄"})+"로 해결했네요!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"퍼즐 "+v(a,"puzzle_number")+"/"+v(a,"stage_total")},c.repeat=function(){return"반복" },c.resetProgram=function(){return"처음 상태로"},c.runProgram=function(){return"실행"},c.runTooltip=function(){return"블럭들로 작성되어있는 프로그램을 실행합니다."},c.score=function(){return"score"},c.showCodeHeader=function(){return"코드 보기"},c.showGeneratedCode=function(){return"코드 보기"},c.subtitle=function(){return"비주얼 프로그래밍 환경"},c.textVariable=function(){return"문장"},c.tooFewBlocksMsg=function(){return"퍼즐을 해결하기 위해 필요한 블럭 종류는 모두 사용했지만, 이런 종류의 블럭들을 더 사용해 보세요."},c.tooManyBlocksMsg=function(){return"이 퍼즐은 블럭들을 사용해 해결할 수 있습니다."},c.tooMuchWork=function(){return"작업을 너무 많이 해야 되요! 더 적게 반복하는 방법은 없을까요?"},c.toolboxHeader=function(){return"블럭"},c.openWorkspace=function(){return"실행 설명"},c.totalNumLinesOfCodeWritten=function(a){return"지금까지: 코드 "+p(a,"numLines",0,"ko",{one:"1 line",other:n(a,"numLines")+" 줄"})+" 사용."},c.tryAgain=function(){return"다시 시도"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"이전 퍼즐"},c.saveToGallery=function(){return"갤러리에 저장"},c.savedToGallery=function(){return"갤러리에 저장되었습니다!"},c.typeCode=function(){return"자바스크립트(JavaScript) 코드를 직접 작성하세요."},c.typeFuncs=function(){return"사용 가능 함수:%1"},c.typeHint=function(){return'괄호 "( )" 와 세미콜론 ";" 이 필요합니다.'},c.workspaceHeader=function(){return"블럭들을 이곳에서 조립하세요:"},c.infinity=function(){return"무한"},c.rotateText=function(){return"돌리세요."},c.orientationLock=function(){return"회전 잠금을 해제하세요."},c.wantToLearn=function(){return"코드(code)를 배워볼까요?"},c.watchVideo=function(){return"비디오 보기"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Hour of Code 해보기"},c.signup=function(){return"샘플 코스를 위해 가입하기"},c.hintHeader=function(){return"팁:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ko=function(){return"other"},c.actor=function(){return"actor"},c.catActions=function(){return"동작"},c.catControl=function(){return"반복"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"논리"},c.catMath=function(){return"계산"},c.catProcedures=function(){return"함수"},c.catText=function(){return"문장"},c.catVariables=function(){return"변수"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"계속하기"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"축하합니다! 마지막 퍼즐을 해결했습니다."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"랜덤 번째 위치"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"픽셀"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"축하합니다! 퍼즐을 해결했습니다."},c.no=function(){return"아니요"},c.numBlocksNeeded=function(){return"%1 개의 블럭으로 퍼즐을 해결할 수 있습니다."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"랜덤 번째 위치"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"실행"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"문장"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"에서 설정"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"예"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?"); if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/lt_lt/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/lt_lt/common":40,"../../locale/lt_lt/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/lt_lt/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/lt_lt/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/lt_lt/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/lt_lt/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/lt_lt/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/lt_lt/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/lt_lt/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/lt_lt/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/lt_lt/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/lt_lt/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/lt_lt/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/lt_lt/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.lt=function(a){return a%10==1&&(11>a%100||a%100>19)?"one":a%10>=2&&9>=a%10&&(11>a%100||a%100>19)&&a==Math.floor(a)?"few":"other"},c.and=function(){return"ir"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Komandos"},c.catColour=function(){return"Spalva"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"Sąrašai"},c.catLoops=function(){return"Kartojimas"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Sudėtinės komandos"},c.catText=function(){return"Tekstas"},c.catVariables=function(){return"Kintamieji"},c.codeTooltip=function(){return"Žiūrėti sukurtą JavaScript kodą."},c.continue=function(){return"Tęsti"},c.dialogCancel=function(){return"Atšaukti"},c.dialogOK=function(){return"gerai"},c.directionNorthLetter=function(){return"Š"},c.directionSouthLetter=function(){return"P"},c.directionEastLetter=function(){return"R"},c.directionWestLetter=function(){return"V"},c.end=function(){return"pabaiga"},c.emptyBlocksErrorMsg=function(){return"„Kartojimo“ arba „Jei“ blokelių viduje reikia įdėti kitus blokelius, kad jie veiktų. Įsitikink, kad jie yra gerai sukibę vienas su kitu."},c.emptyFunctionBlocksErrorMsg=function(){return"Komandos apraše turi būti išvardintos komandos (įdėtas bent vienas blokas)."},c.extraTopBlocks=function(){return"Tu panaudojai keletą blokų, kurie nėra sujungti su būtinuoju blokeliu."},c.finalStage=function(){return"Sveikinu! Tu baigei paskutinį etapą."},c.finalStageTrophies=function(a){return"Sveikinu! Tu užbaigei paskutinį lygį ir laimėjai "+p(a,"numTrophies",0,"lt",{one:"a trofėjų",other:n(a,"numTrophies")+" trofėjus"})+"."},c.finish=function(){return"Finišas"},c.generatedCodeInfo=function(a){return"Net ir aukščiausiai įvertinti universitetai Pasaulyje moko programavimo naudojant blokelius (pvz., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Tačiau tavo sudėlioti blokeliai gali būti atvaizduojami ir JavaScript - populiariausia programavimo kalba Pasaulyje:"},c.hashError=function(){return"Atsiprašome, '%1' nesutampa su jokia įrašyta programa."},c.help=function(){return"pagalba"},c.hintTitle=function(){return"Patarimas:"},c.jump=function(){return"šok"},c.levelIncompleteError=function(){return"Tu naudoji visus būtinus blokelius, tačiau netinkamai."},c.listVariable=function(){return"sąrašas"},c.makeYourOwnFlappy=function(){return"Sukurk savo Flappy žaidimą"},c.missingBlocksErrorMsg=function(){return"Išmėgink vieną ar daugiau blokelių, esančių žemiau, kad išspręstum šią užduotį."},c.nextLevel=function(a){return"Sveikinu! Tu išsprendei galvosūkį "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Sveikinu! Užbaigėte galvosūkį "+v(a,"puzzleNumber")+" ir laimėjote "+p(a,"numTrophies",0,"lt",{one:"trofėju",other:n(a,"numTrophies")+" trofėjų"})+"."},c.nextStage=function(a){return"Sveikinu! Tu užbaigei "+v(a,"stageName")+"." },c.nextStageTrophies=function(a){return"Sveikinu! Tu užbaigei lygį "+v(a,"stageName")+" ir laimėjai "+p(a,"numTrophies",0,"lt",{one:"trofėjų",other:n(a,"numTrophies")+" trofėjus"})+"."},c.numBlocksNeeded=function(a){return"Sveikinu! Tu išsprendei "+v(a,"puzzleNumber")+" užduotį. (Beje, galėjai panaudoti tik "+p(a,"numBlocks",0,"lt",{"vieną":"1 blokelį",other:n(a,"numBlocks")+" blokelių"})+".)"},c.numLinesOfCodeWritten=function(a){return"Tu parašei "+p(a,"numLines",0,"lt",{one:"1 eilutę",other:n(a,"numLines")+" eilučių"})+" kodo!"},c.play=function(){return"žaisti"},c.puzzleTitle=function(a){return"Užduotis "+v(a,"puzzle_number")+" iš "+v(a,"stage_total")},c.repeat=function(){return"kartok"},c.resetProgram=function(){return"Iš naujo"},c.runProgram=function(){return"Paleisti"},c.runTooltip=function(){return"Paleisk programą, naudodamasis blokeliais."},c.score=function(){return"rezultatas"},c.showCodeHeader=function(){return"Rodyti kodą"},c.showGeneratedCode=function(){return"Rodyti kodą"},c.subtitle=function(){return"Vizuali programavimo aplinka"},c.textVariable=function(){return"tekstas"},c.tooFewBlocksMsg=function(){return"Tu naudoji visas reikiamas blokų rūšis, tačiau reikia panaudoti po daugiau kažkurių blokų."},c.tooManyBlocksMsg=function(){return"Ši užduotis gali būti išspręsta su blokais."},c.tooMuchWork=function(){return"Tu privertei mane tiek daug dirbti! Ar galėtum atlikti užduotį su mažiau kartojimų?"},c.toolboxHeader=function(){return"Blokeliai"},c.openWorkspace=function(){return"Kaip tai veikia"},c.totalNumLinesOfCodeWritten=function(a){return"Iš viso: "+p(a,"numLines",0,"lt",{one:"1 eilutė",other:n(a,"numLines")+" eilučių"})+" kodo."},c.tryAgain=function(){return"Pabandyk dar kartą"},c.hintRequest=function(){return"Užuomina"},c.backToPreviousLevel=function(){return"Grįžti į ankstesnį lygį"},c.saveToGallery=function(){return"Įrašyti į savo galeriją"},c.savedToGallery=function(){return"Įrašyti į savo galeriją!"},c.typeCode=function(){return"Įvesk savo JavaScript kodą žemiau šių instrukcijų."},c.typeFuncs=function(){return"Galimos komandos:%1"},c.typeHint=function(){return"Įsidėmėk, kad skliausteliai ir kabliataškiai yra būtini."},c.workspaceHeader=function(){return"Iš viso panaudojai blokelių: "},c.infinity=function(){return"Begalybė"},c.rotateText=function(){return"Pasuk savo įrenginį."},c.orientationLock=function(){return"Išjunk savo įrenginio ekrano pasukimą."},c.wantToLearn=function(){return"Nori išmokti programuoti?"},c.watchVideo=function(){return"Peržiūrėk šį vaizdo įrašą"},c.when=function(){return"kada"},c.whenRun=function(){return"paleidus"},c.tryHOC=function(){return"Išmėgink Vienos Valandos Kodą"},c.signup=function(){return"Užsiregistruok į kursą pradedantiesiems"},c.hintHeader=function(){return"Štai patarimas:"},c.genericFeedback=function(){return"Pažiūrėk, kaip pavyko ir pabandyk patobulinti programą."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.lt=function(a){return a%10==1&&(11>a%100||a%100>19)?"one":a%10>=2&&9>=a%10&&(11>a%100||a%100>19)&&a==Math.floor(a)?"few":"other"},c.actor=function(){return"veikėjas"},c.catActions=function(){return"Komandos"},c.catControl=function(){return"Kartojimas"},c.catEvents=function(){return"Įvykiai"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Sudėtinės komandos"},c.catText=function(){return"Tekstas"},c.catVariables=function(){return"Kintamieji"},c.changeScoreTooltip=function(){return"Pakeist rezultato reikšmę."},c.changeScoreTooltipK1=function(){return"Padidint rezultatą vienu tašku."},c.continue=function(){return"Tęsti"},c.decrementPlayerScore=function(){return"atimk tašką"},c.defaultSayText=function(){return"rašyk čia"},c.emotion=function(){return"nuotaika"},c.finalLevel=function(){return"Sveikinu! Tu išsprendei paskutinį galvosūkį."},c.hello=function(){return"labas"},c.helloWorld=function(){return"Labas, Pasauli!"},c.incrementPlayerScore=function(){return"pridėk tašką"},c.makeProjectileDisappear=function(){return"pradink"},c.makeProjectileBounce=function(){return"atsimušk"},c.makeProjectileBlueFireball=function(){return"mėlynas ugnies kamuolys"},c.makeProjectilePurpleFireball=function(){return"violetinis ugnies kamuolys"},c.makeProjectileRedFireball=function(){return"raudonas ugnies kamuolys"},c.makeProjectileYellowHearts=function(){return"geltonos širdutės"},c.makeProjectilePurpleHearts=function(){return"violetinės širdutės"},c.makeProjectileRedHearts=function(){return"raudonos širdutės"},c.makeProjectileTooltip=function(){return"Susidūręs sviedinys/objektas turi pradingti arba atšokti."},c.makeYourOwn=function(){return"Sukurkite savo istoriją"},c.moveDirectionDown=function(){return"žemyn"},c.moveDirectionLeft=function(){return"kairėn"},c.moveDirectionRight=function(){return"dešinėn"},c.moveDirectionUp=function(){return"aukštyn"},c.moveDirectionRandom=function(){return"atsitiktinis"},c.moveDistance25=function(){return"25 pikseliai"},c.moveDistance50=function(){return"50 pikselių"},c.moveDistance100=function(){return"100 pikselių"},c.moveDistance200=function(){return"200 pikselių"},c.moveDistance400=function(){return"400 pikselių"},c.moveDistancePixels=function(){return"pikseliai"},c.moveDistanceRandom=function(){return"atsitiktinis pikselių skaičius"},c.moveDistanceTooltip=function(){return"Pajudink veikėją tam tikru atstumu nurodyta kryptimi."},c.moveSprite=function(){return"judėk"},c.moveSpriteN=function(a){return"pajudink veikėją "+v(a,"spriteIndex")},c.moveDown=function(){return"judėk žemyn"},c.moveDownTooltip=function(){return"Perkelti aktorių žemyn."},c.moveLeft=function(){return"judėk kairėn"},c.moveLeftTooltip=function(){return"Perkelti aktorių kairėn."},c.moveRight=function(){return"judėk dešinėn"},c.moveRightTooltip=function(){return"Perkelti aktorių dešinėn."},c.moveUp=function(){return"judėk aukštyn"},c.moveUpTooltip=function(){return"Perkelti aktorių aukštyn."},c.moveTooltip=function(){return"Perkelti aktorių."},c.nextLevel=function(){return"Sveikinu! Išsprendei šią užduotį."},c.no=function(){return"Ne"},c.numBlocksNeeded=function(){return"Ši užduotis gali būti išspręsta su %1 blokų(-ais)."},c.ouchExclamation=function(){return"Ojoj!"},c.playSoundCrunch=function(){return"garsas = trakšt"},c.playSoundGoal1=function(){return"garsas = įvartis 1"},c.playSoundGoal2=function(){return"garsas = įvartis 2"},c.playSoundHit=function(){return"garsas = atsimušimas"},c.playSoundLosePoint=function(){return"garsas = taško praradimas"},c.playSoundLosePoint2=function(){return"garsas = taško praradimas 2"},c.playSoundRetro=function(){return"garsas = retro"},c.playSoundRubber=function(){return"garsas = guma"},c.playSoundSlap=function(){return"garsas = pliaukšt"},c.playSoundTooltip=function(){return"Grok pasirinktą garsą."},c.playSoundWinPoint=function(){return"garsas = pelnyti taškai 1"},c.playSoundWinPoint2=function(){return"garsas = pelnyti taškai 2"},c.playSoundWood=function(){return"garsas = mediena"},c.positionOutTopLeft=function(){return"į viršutinę kairiąją poziciją"},c.positionOutTopRight=function(){return"į viršutinę dešiniąją poziciją"},c.positionTopOutLeft=function(){return"į viršutinę išorinę kairiąją poziciją"},c.positionTopLeft=function(){return"pozicija = viršuje kairėje"},c.positionTopCenter=function(){return"pozicija = viršuje centre"},c.positionTopRight=function(){return"pozicija = viršuje dešinėn"},c.positionTopOutRight=function(){return"į viršutinę išorinę dešiniąją poziciją"},c.positionMiddleLeft=function(){return"pozicija = viduryje kairėje"},c.positionMiddleCenter=function(){return"pozicija = viduryje"},c.positionMiddleRight=function(){return"pozicija = viduryje dešinėje"},c.positionBottomOutLeft=function(){return"į apatinę išorinę kairiąją poziciją"},c.positionBottomLeft=function(){return"pozicija = apačioje kairėje"},c.positionBottomCenter=function(){return"pozicija = apačioje centre"},c.positionBottomRight=function(){return"pozicija = apačioje dešinėje"},c.positionBottomOutRight=function(){return"į apatinę išorinę dešiniąją poziciją"},c.positionOutBottomLeft=function(){return"į apatinę kairiąją poziciją"},c.positionOutBottomRight=function(){return"į apatinę dešiniąją poziciją"},c.positionRandom=function(){return"pozicija = atsitiktinė"},c.projectileBlueFireball=function(){return"mėlynas ugnies kamuolys"},c.projectilePurpleFireball=function(){return"violetinis ugnies kamuolys"},c.projectileRedFireball=function(){return"raudonas ugnies kamuolys"},c.projectileYellowHearts=function(){return"geltonos širdutės"},c.projectilePurpleHearts=function(){return"violetinės širdutės"},c.projectileRedHearts=function(){return"raudonos širdutės"},c.projectileRandom=function(){return"atsitiktinis"},c.reinfFeedbackMsg=function(){return"Gali nuspausti mygtuką „Mėginti dar kartą“, kad grįžtum prie savo istorijos."},c.repeatForever=function(){return"kartok amžinai"},c.repeatDo=function(){return"daryk"},c.repeatForeverTooltip=function(){return"Vykdyk veiksmus, esančius šiame bloke, pakartotinai, kol istorija yra rodoma."},c.saySprite=function(){return"sakyk"},c.saySpriteN=function(a){return"veikėjas "+v(a,"spriteIndex")+" sakys"},c.saySpriteTooltip=function(){return"Virš veikėjo galvos atsiras burbulas su nurodytu tekstu."},c.scoreText=function(a){return"Taškai: "+v(a,"playerScore")},c.setBackground=function(){return"fonas = "},c.setBackgroundRandom=function(){return"fonas = atsitiktinis"},c.setBackgroundBlack=function(){return"fonas = juodas"},c.setBackgroundCave=function(){return"fonas = urvas"},c.setBackgroundCloudy=function(){return"fonas = debesys"},c.setBackgroundHardcourt=function(){return"fonas = aikštė"},c.setBackgroundNight=function(){return"fonas = naktis"},c.setBackgroundUnderwater=function(){return"fonas = po vandeniu"},c.setBackgroundCity=function(){return"fonas = miestas"},c.setBackgroundDesert=function(){return"fonas = dykuma"},c.setBackgroundRainbow=function(){return"fonas = vaivorykštė"},c.setBackgroundSoccer=function(){return"fonas = futbolas"},c.setBackgroundSpace=function(){return"fonas = kosmosas"},c.setBackgroundTennis=function(){return"fonas = tenisas"},c.setBackgroundWinter=function(){return"fonas = žiema"},c.setBackgroundTooltip=function(){return"Nustato fono paveikslėlį"},c.setScoreText=function(){return"taškai = "},c.setScoreTextTooltip=function(){return"Kokį tekstą rodyti šalia taškų."},c.setSpriteEmotionAngry=function(){return"nuotaika = pikta"},c.setSpriteEmotionHappy=function(){return"nuotaika = laiminga"},c.setSpriteEmotionNormal=function(){return"nuotaika = normali"},c.setSpriteEmotionRandom=function(){return"nuotaika = atsitiktinė"},c.setSpriteEmotionSad=function(){return"nuotaika = liūdna"},c.setSpriteEmotionTooltip=function(){return"Nustato veikėjo nuotaiką"},c.setSpriteAlien=function(){return"išvaizda = ufonautas"},c.setSpriteBat=function(){return"išvaizda = šikšnosparnis"},c.setSpriteBird=function(){return"išvaizda = paukštis"},c.setSpriteCat=function(){return"išvaizda = katė"},c.setSpriteCaveBoy=function(){return"išvaizda = urvinis jaunuolis"},c.setSpriteCaveGirl=function(){return"išvaizda = urvinė mergina"},c.setSpriteDinosaur=function(){return"išvaizda = dinozauras"},c.setSpriteDog=function(){return"išvaizda = šuo"},c.setSpriteDragon=function(){return"išvaizda = drakonas"},c.setSpriteGhost=function(){return"išvaizda = vaiduoklis"},c.setSpriteHidden=function(){return"išvaizda = nematomas"},c.setSpriteHideK1=function(){return"pa(si)slėpk"},c.setSpriteKnight=function(){return"išvaizda = riteris"},c.setSpriteMonster=function(){return"išvaizda = pabaisa"},c.setSpriteNinja=function(){return"išvaizda = ninzė"},c.setSpriteOctopus=function(){return"išvaizda = aštunkojis"},c.setSpritePenguin=function(){return"išvaizda = pingvinas"},c.setSpritePirate=function(){return"išvaizda = piratas"},c.setSpritePrincess=function(){return"išvaizda = princesė"},c.setSpriteRandom=function(){return"išvaizda = atsitiktinė"},c.setSpriteRobot=function(){return"išvaizda = robotas"},c.setSpriteShowK1=function(){return"parodyk"},c.setSpriteSpacebot=function(){return"išvaizda = kosminis laivas"},c.setSpriteSoccerGirl=function(){return"išvaizda = futbolininkė"},c.setSpriteSoccerBoy=function(){return"išvaizda = futbolininkas"},c.setSpriteSquirrel=function(){return"išvaizda = voverė"},c.setSpriteTennisGirl=function(){return"išvaizda = tenisininkė"},c.setSpriteTennisBoy=function(){return"išvaizda = tenisininkas"},c.setSpriteUnicorn=function(){return"išvaizda = vienaragis"},c.setSpriteWitch=function(){return"išvaizda = ragana"},c.setSpriteWizard=function(){return"išvaizda = žynys"},c.setSpritePositionTooltip=function(){return"Iškart perkelia aktorių į nurodytą vietą."},c.setSpriteK1Tooltip=function(){return"Paslėpia/parodo veikėją."},c.setSpriteTooltip=function(){return"Nustato aktoriaus išvaizdą"},c.setSpriteSizeRandom=function(){return"dydis = atsitiktinis"},c.setSpriteSizeVerySmall=function(){return"dydis = labai mažas"},c.setSpriteSizeSmall=function(){return"dydis = mažas"},c.setSpriteSizeNormal=function(){return"dydis = normalus"},c.setSpriteSizeLarge=function(){return"dydis = didelis"},c.setSpriteSizeVeryLarge=function(){return"dydis = labai didelis"},c.setSpriteSizeTooltip=function(){return"Nustato veikėjo dydį."},c.setSpriteSpeedRandom=function(){return"greitis = atsitiktinis"},c.setSpriteSpeedVerySlow=function(){return"greitis = labai lėtas"},c.setSpriteSpeedSlow=function(){return"greitis = lėtas"},c.setSpriteSpeedNormal=function(){return"greitis = normalus"},c.setSpriteSpeedFast=function(){return"greitis = didelis"},c.setSpriteSpeedVeryFast=function(){return"greitis = labai didelis"},c.setSpriteSpeedTooltip=function(){return"Nustato veikėjo greitį"},c.setSpriteZombie=function(){return"išvaizda = zombis"},c.shareStudioTwitter=function(){return"Pažiūrėk, kokią istoriją sukūriau. Ją parašiau pats su @codeorg"},c.shareGame=function(){return"Pasidalink savo istorija:"},c.showTitleScreen=function(){return"parodyk ekrano pavadinimą"},c.showTitleScreenTitle=function(){return"pavadinimas"},c.showTitleScreenText=function(){return"tekstas"},c.showTSDefTitle=function(){return"įrašykite pavadinimą"},c.showTSDefText=function(){return"įrašykite tekstą"},c.showTitleScreenTooltip=function(){return"Parodyti pradinį ekraną su pavadinimu ir tekstu."},c.setSprite=function(){return"nustatyk"},c.setSpriteN=function(a){return"nustatyk aktoriui "+v(a,"spriteIndex")+":"},c.soundCrunch=function(){return"trakšt"},c.soundGoal1=function(){return"įvartis 1"},c.soundGoal2=function(){return"įvartis 2"},c.soundHit=function(){return"atsimušimas"},c.soundLosePoint=function(){return"taško praradimas 1"},c.soundLosePoint2=function(){return"taško praradimas 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"guma"},c.soundSlap=function(){return"pliaukšt"},c.soundWinPoint=function(){return"taško laimėjimas 1"},c.soundWinPoint2=function(){return"taško laimėjimas 2"},c.soundWood=function(){return"mediena"},c.speed=function(){return"greitis"},c.stopSprite=function(){return"sustok"},c.stopSpriteN=function(a){return"sustabdyk veikėją "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Sustabdo aktoriaus veiksmus."},c.throwSprite=function(){return"mesk"},c.throwSpriteN=function(a){return"veikėjau "+v(a,"spriteIndex")+" mesk"},c.throwTooltip=function(){return"Nurodytas veikėjas išmeta objektą (pvz, ugnies kamuolį)."},c.vanish=function(){return"išnyk"},c.vanishActorN=function(a){return"panaikink aktorių "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Pašalina aktorių"},c.waitFor=function(){return"palauk "},c.waitSeconds=function(){return"sekundes"},c.waitForClick=function(){return"lauk paspaudimo"},c.waitForRandom=function(){return"lauk atsitiktinį laiką"},c.waitForHalfSecond=function(){return"lauk pusę sekundės"},c.waitFor1Second=function(){return"lauk 1 sekundę"},c.waitFor2Seconds=function(){return"lauk 2 sekundes"},c.waitFor5Seconds=function(){return"lauk 5 sekundes"},c.waitFor10Seconds=function(){return"lauk 10 sekundžių"},c.waitParamsTooltip=function(){return"Palaukia nurodytą kiekį sekundžių. O jei nurodyta 0 - kol bus spustelta pele."},c.waitTooltip=function(){return"Palaukia, kol praeis nurodytas laikas arba kai įvyks mygtuko paspaudimas."},c.whenArrowDown=function(){return"rodyklė į apačią"},c.whenArrowLeft=function(){return"rodyklė į kairę"},c.whenArrowRight=function(){return"rodyklė į dešinę"},c.whenArrowUp=function(){return"rodyklė į viršų"},c.whenArrowTooltip=function(){return"Įvykdys nurodytus veiksmus, kai atitinkama rodyklė bus paspausta."},c.whenDown=function(){return"kai rodyklė žemyn"},c.whenDownTooltip=function(){return"Įvykdyk žemiau nurodytus veiksmus, kai bus nuspaustas klaviatūros klavišas rodyklė žemyn."},c.whenGameStarts=function(){return"kai istorija prasideda"},c.whenGameStartsTooltip=function(){return"Įvykdyk žemiau nurodytus veiksmus, kai istorija prasidės."},c.whenLeft=function(){return"kai rodyklė į kairę"},c.whenLeftTooltip=function(){return"Įvykdyk žemiau nurodytus veiksmus, kai bus nuspaustas klaviatūros klavišas rodyklė į kairę."},c.whenRight=function(){return"kai rodyklė į dešinę"},c.whenRightTooltip=function(){return"Įvykdyk žemiau nurodytus veiksmus, kai bus nuspaustas klaviatūros klavišas rodyklė dešinėn."},c.whenSpriteClicked=function(){return"kai veikėjas spustelimas"},c.whenSpriteClickedN=function(a){return"kai veikėjas "+v(a,"spriteIndex")+" spustelimas"},c.whenSpriteClickedTooltip=function(){return"Vykdyti veiksmus, nurodytus žemiau, kai bus nuspausta ant aktoriaus."},c.whenSpriteCollidedN=function(a){return"kai veikėjas "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Vykdyti veiksmus, nurodytus žemiau, kai aktorius paliečia kitą aktorių."},c.whenSpriteCollidedWith=function(){return"paliečia"},c.whenSpriteCollidedWithN=function(a){return"paliečia veikėją "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"paliečia mėlyną ugnies kamuolį"},c.whenSpriteCollidedWithPurpleFireball=function(){return"paliečia violetinį ugnies kamuolį"},c.whenSpriteCollidedWithRedFireball=function(){return"paliečia raudoną ugnies kamuolį"},c.whenSpriteCollidedWithYellowHearts=function(){return"paliečia geltonas širdutes"},c.whenSpriteCollidedWithPurpleHearts=function(){return"paliečia violetines širdutes"},c.whenSpriteCollidedWithRedHearts=function(){return"paliečia raudonas širdutes"},c.whenSpriteCollidedWithBottomEdge=function(){return"paliečia scenos apačią"},c.whenSpriteCollidedWithLeftEdge=function(){return"paliečia scenos kairį šoną"},c.whenSpriteCollidedWithRightEdge=function(){return"paliečia scenos dešinį šoną"},c.whenSpriteCollidedWithTopEdge=function(){return"paliečia scenos viršų"},c.whenUp=function(){return"kai rodyklė aukštyn"},c.whenUpTooltip=function(){return"Įvykdyk žemiau nurodytus veiksmus, kai bus nuspaustas klaviatūros klavišas rodyklė aukštyn."},c.yes=function(){return"Taip"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring"); d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ms_my/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ms_my/common":40,"../../locale/ms_my/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ms_my/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ms_my/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ms_my/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ms_my/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ms_my/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ms_my/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ms_my/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ms_my/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ms_my/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ms_my/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ms_my/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ms_my/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ms=function(){return"other"},c.and=function(){return"dan"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Tindakan"},c.catColour=function(){return"Warna"},c.catLogic=function(){return"Logik"},c.catLists=function(){return"Senarai"},c.catLoops=function(){return"Pusingan"},c.catMath=function(){return"Matematik"},c.catProcedures=function(){return"Fungsi"},c.catText=function(){return"Teks"},c.catVariables=function(){return"Pembolehubah"},c.codeTooltip=function(){return"Lihat kod JavaScript yang dijana."},c.continue=function(){return"Teruskan"},c.dialogCancel=function(){return"Batal"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"U"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"T"},c.directionWestLetter=function(){return"B"},c.end=function(){return"tamat"},c.emptyBlocksErrorMsg=function(){return'"Ulangan" atau "Jika" blok perlu mempunyai blok lain di dalamnya untuk berfungsi. Pastikan blok dalaman sesuai di dalam kandungan blok.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Tahniah! Anda telah melengkapkan peringkat akhir."},c.finalStageTrophies=function(a){return"Tahniah! Anda telah selesai peringkat akhir dan memenangi "+p(a,"numTrophies",0,"ms",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Universiti terkemuka juga mengajarkan blok-asas koding (cth., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Tetapi, blok yang telah disusun juga boleh ditunjukkan dalam JavaScript, bahasa koding yang paling meluas digunakan:"},c.hashError=function(){return"Maaf, '%1' tidak sepadan dengan sebarang atur cara yang disimpan."},c.help=function(){return"Bantu"},c.hintTitle=function(){return"Petunjuk:"},c.jump=function(){return"lompat"},c.levelIncompleteError=function(){return"Anda menggunakan kesemua jenis blok yang diperlukan tetapi dengan cara yang tidak betul."},c.listVariable=function(){return"senarai"},c.makeYourOwnFlappy=function(){return"Buat permainan Flappy anda sendiri"},c.missingBlocksErrorMsg=function(){return"Cuba satu atau lebih blok di bawah untuk menyelesaikan puzzle ini."},c.nextLevel=function(a){return"Tahniah! Anda telah melengkapkan puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Tahniah! Anda telah menyelesaikan Puzzle "+v(a,"puzzleNumber")+" dan memenangi "+p(a,"numTrophies",0,"ms",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Tahniah! Anda tamatkan "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Tahniah! Anda telah menyelesaikan "+v(a,"stageName")+" dan memenangi "+p(a,"numTrophies",0,"ms",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"ms",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"Anda baru sahaja menulis "+p(a,"numLines",0,"ms",{one:"1 line",other:n(a,"numLines")+" lines"})+" kod!"},c.play=function(){return"Main"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" dari "+v(a,"stage_total")},c.repeat=function(){return"ulang"},c.resetProgram=function(){return"Tetapkan semula"},c.runProgram=function(){return"Mainkan program"},c.runTooltip=function(){return"Jalankan program yang ditetapkan dengan blok dalam ruang kerja."},c.score=function(){return"skor"},c.showCodeHeader=function(){return"Tunjuk Kod"},c.showGeneratedCode=function(){return"Tunjukkan Kod"},c.subtitle=function(){return"persekitaran pengaturcaraan visual"},c.textVariable=function(){return"teks"},c.tooFewBlocksMsg=function(){return"Anda menggunakan semua jenis blok yang diperlukan, cuba gunakan lebih banyak jenis blok untuk menyelesaikan puzzle ini."},c.tooManyBlocksMsg=function(){return"Puzzle ini dapat diselesaikan dengan blok."},c.tooMuchWork=function(){return"Anda membuatkan saya melakukan banyak kerja! Bolehkah anda cuba ulang beberapa kali sahaja?"},c.toolboxHeader=function(){return"blok"},c.openWorkspace=function(){return"Bagaimana ia berfungsi"},c.totalNumLinesOfCodeWritten=function(a){return"Total masa keseluruhan: "+p(a,"numLines",0,"ms",{one:"1 line",other:n(a,"numLines")+" lines"})+" kod."},c.tryAgain=function(){return"Cuba lagi"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Kembali ke tahap yang sebelumnya"},c.saveToGallery=function(){return"Simpan ke galeri anda"},c.savedToGallery=function(){return"Disimpan ke galeri anda!"},c.typeCode=function(){return"Taip kod JavaScript anda di bawah arahan ini."},c.typeFuncs=function(){return"fungsi sedia ada:%1"},c.typeHint=function(){return"Ambil perhatian bahawa kurungan dan koma bertindih adalah perlu."},c.workspaceHeader=function(){return"Pasang blok anda di sini: "},c.infinity=function(){return"Infinity"},c.rotateText=function(){return"Pusingkan peranti anda."},c.orientationLock=function(){return"Matikan kunci orientasi dalam tetapan peranti."},c.wantToLearn=function(){return"Ingin belajar untuk mengekod?"},c.watchVideo=function(){return"Tonton Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Daftar untuk kursus pengenalan"},c.hintHeader=function(){return"Sedikit Tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ms=function(){return"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Tindakan"},c.catControl=function(){return"Pusingan"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logik"},c.catMath=function(){return"Matematik"},c.catProcedures=function(){return"Fungsi-fungsi"},c.catText=function(){return"Teks"},c.catVariables=function(){return"Pembolehubah"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Teruskan"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Tahniah! Anda berjaya menyelesaikan puzzle terakhir."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"rawak"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"piksel"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Tahniah! Anda telah melengkapkan puzzle ini."},c.no=function(){return"Tidak"},c.numBlocksNeeded=function(){return"Puzzle ini boleh diselesaikan dengan %1 blok."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"rawak"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"Hasilkan"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"teks"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"set"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Ya"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/nl_nl/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/nl_nl/common":40,"../../locale/nl_nl/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/nl_nl/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/nl_nl/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/nl_nl/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/nl_nl/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/nl_nl/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/nl_nl/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/nl_nl/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/nl_nl/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/nl_nl/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/nl_nl/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/nl_nl/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/nl_nl/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.nl=function(a){return 1===a?"one":"other"},c.and=function(){return"en"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Acties"},c.catColour=function(){return"Kleur"},c.catLogic=function(){return"Logica"},c.catLists=function(){return"Lijsten"},c.catLoops=function(){return"Lussen"},c.catMath=function(){return"wiskundige"},c.catProcedures=function(){return"Functies"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variabelen"},c.codeTooltip=function(){return"Zie gegenereerde JavaScript-code."},c.continue=function(){return"Doorgaan"},c.dialogCancel=function(){return"Annuleren"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"Z"},c.directionEastLetter=function(){return"O"},c.directionWestLetter=function(){return"W"},c.end=function(){return"einde"},c.emptyBlocksErrorMsg=function(){return'De "herhaal" of "als" blokken hebben andere blokken in hun nodig om te werken. Zorg ervoor dat de binnenste blok correct past in de bevattende blok.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Je hebt blokken over die niet aan een gebeurtenisblok geplakt zijn."},c.finalStage=function(){return"Gefeliciteerd! U hebt de laatste fase voltooid."},c.finalStageTrophies=function(a){return"Gefeliciteerd! U hebt de laatste fase voltooid en won "+p(a,"numTrophies",0,"nl",{one:"een trofee",other:n(a,"numTrophies")+" trofeeën"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Zelf op topuniversiteiten wordt les gegevens met programmeertalen die op blokken zijn gebaseerd (bijv. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Maar onder de motorkop kunnen de blokken waarmee je een programma hebt gemaakt ook getoond worden in JavaScript, de programmeertaal die wereldwijd het meest wordt gebruikt:"},c.hashError=function(){return"Sorry, '%1' komt niet overeen met een opgeslagen programma."},c.help=function(){return"Help"},c.hintTitle=function(){return"Tip:"},c.jump=function(){return"spring"},c.levelIncompleteError=function(){return"U gebruikt al de nodige typen van blokken, maar niet op de juiste manier."},c.listVariable=function(){return"lijst"},c.makeYourOwnFlappy=function(){return"Maak je eigen 'Flappy'-spel"},c.missingBlocksErrorMsg=function(){return"Probeer een of meer van de blokken onderaan om deze puzzel op te lossen."},c.nextLevel=function(a){return"Gefeliciteerd! U voltooide puzzel "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Gefeliciteerd! U loste puzzel "+v(a,"puzzleNumber")+" op en won "+p(a,"numTrophies",0,"nl",{one:"een trofee",other:n(a,"numTrophies")+" trofeeën"})+"."},c.nextStage=function(a){return"Gefeliciteerd! Je hebt "+v(a,"stageName")+" af." },c.nextStageTrophies=function(a){return"Gefeliciteerd! Je hebt "+v(a,"stageName")+" af en je hebt "+p(a,"numTrophies",0,"nl",{one:"een medaille",other:n(a,"numTrophies")+" medailles"})+" gewonnen."},c.numBlocksNeeded=function(a){return"Gefeliciteerd! U voltooide puzzel "+v(a,"puzzleNumber")+". (Nochtans, u kon alleen "+p(a,"numBlocks",0,"nl",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".) gebruiken"},c.numLinesOfCodeWritten=function(a){return"Je schreef zojuist "+p(a,"numLines",0,"nl",{one:"1 regel",other:n(a,"numLines")+" regels"})+" code!"},c.play=function(){return"spelen"},c.puzzleTitle=function(a){return"Puzzel "+v(a,"puzzle_number")+" van "+v(a,"stage_total")},c.repeat=function(){return"herhaal"},c.resetProgram=function(){return"Herstellen"},c.runProgram=function(){return"Ren"},c.runTooltip=function(){return"Voer het programma gedefinieerd door de blokken uit in de werkruimte."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Code weergeven"},c.showGeneratedCode=function(){return"Code weergeven"},c.subtitle=function(){return"een visuele programmeeromgeving"},c.textVariable=function(){return"tekst"},c.tooFewBlocksMsg=function(){return"Je gebruikt alle soorten blokken die je nodig hebt, maar probeer deze soorten vaker te gebruiken om deze puzzel op te lossen."},c.tooManyBlocksMsg=function(){return"Deze puzzel kan worden opgelost met blokken."},c.tooMuchWork=function(){return"Je laat me veel werk doen! Kun je proberen minder te herhalen?"},c.toolboxHeader=function(){return"Blokken"},c.openWorkspace=function(){return"Hoe het werkt"},c.totalNumLinesOfCodeWritten=function(a){return"Totale tijd: "+p(a,"numLines",0,"nl",{one:"1 regel",other:n(a,"numLines")+" regels"})+" code."},c.tryAgain=function(){return"Probeer opnieuw"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Terug naar het vorige niveau"},c.saveToGallery=function(){return"Sla op in je galerij"},c.savedToGallery=function(){return"Opgeslagen in je galerij!"},c.typeCode=function(){return"Typ jouw JavaScript-code onder deze instructies."},c.typeFuncs=function(){return"Beschikbare functies: %1"},c.typeHint=function(){return"Merk op dat de haakjes en puntkomma's vereist zijn."},c.workspaceHeader=function(){return"Zet je blokken hier in elkaar:"},c.infinity=function(){return"Oneindig"},c.rotateText=function(){return"Draai je apparaat."},c.orientationLock=function(){return"Schakel de orientatie blokkering uit in de instellingen van je apparaat."},c.wantToLearn=function(){return"Wil je leren programmeren?"},c.watchVideo=function(){return"Bekijk de video"},c.when=function(){return"wanneer"},c.whenRun=function(){return"wanneer het wordt uitgevoerd"},c.tryHOC=function(){return'Probeer "Hour of Code"'},c.signup=function(){return"Neem deel aan de introductie cursus"},c.hintHeader=function(){return"Een tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.nl=function(a){return 1===a?"one":"other"},c.actor=function(){return"acteur"},c.catActions=function(){return"Acties"},c.catControl=function(){return"Lussen"},c.catEvents=function(){return"Gebeurtenissen"},c.catLogic=function(){return"Logica"},c.catMath=function(){return"Wiskunde"},c.catProcedures=function(){return"Functies"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variabelen"},c.changeScoreTooltip=function(){return"Verwijder of voeg een punt toe aan de score."},c.changeScoreTooltipK1=function(){return"Voeg een punt toe aan de score."},c.continue=function(){return"Doorgaan"},c.decrementPlayerScore=function(){return"Verwijder punt"},c.defaultSayText=function(){return"type hier"},c.emotion=function(){return"humeur"},c.finalLevel=function(){return"Gefeliciteerd! je hebt de laatste puzzel opgelost."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"Scoor punt"},c.makeProjectileDisappear=function(){return"Verdwijnen"},c.makeProjectileBounce=function(){return"stuiter"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Laat het projectiel verdwijnen of stuiteren dat net botste."},c.makeYourOwn=function(){return"Maak je eigen verhaal"},c.moveDirectionDown=function(){return"omlaag"},c.moveDirectionLeft=function(){return"link"},c.moveDirectionRight=function(){return"rechts"},c.moveDirectionUp=function(){return"omhoog"},c.moveDirectionRandom=function(){return"willekeurig"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"willekeurige pixels"},c.moveDistanceTooltip=function(){return"Beweeg een figuur de aangegeven afstand in de aangegeven richting."},c.moveSprite=function(){return"verplaats"},c.moveSpriteN=function(a){return"verplaats speler "+v(a,"spriteIndex")},c.moveDown=function(){return"omlaag"},c.moveDownTooltip=function(){return"verplaats een figuur omlaag."},c.moveLeft=function(){return"naar links"},c.moveLeftTooltip=function(){return"verplaats een figuur naar links."},c.moveRight=function(){return"naar rechts"},c.moveRightTooltip=function(){return"verplaats een figuur naar rechts."},c.moveUp=function(){return"omhoog"},c.moveUpTooltip=function(){return"verplaats een figuur omhoog."},c.moveTooltip=function(){return"verplaats een figuur."},c.nextLevel=function(){return"Gefeliciteerd! Je hebt de puzzel voltooid."},c.no=function(){return"Nee"},c.numBlocksNeeded=function(){return"Deze puzzel kan worden opgelost met %1 blokken."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"krakend geluid afspelen"},c.playSoundGoal1=function(){return"doel 1 geluid afspelen"},c.playSoundGoal2=function(){return"doel 2 geluid afspelen"},c.playSoundHit=function(){return"raak-geluid afspelen"},c.playSoundLosePoint=function(){return"speel het punt verloren geluid af"},c.playSoundLosePoint2=function(){return"speel het punt verloren geluid 2 af"},c.playSoundRetro=function(){return"speel retro geluid af"},c.playSoundRubber=function(){return"speel rubber geluid af"},c.playSoundSlap=function(){return"speel klap geluid af"},c.playSoundTooltip=function(){return"Speel het gekozen geluid af."},c.playSoundWinPoint=function(){return"speel het punt gewonnen geluid af"},c.playSoundWinPoint2=function(){return"speel het punt gewonnen geluid 2 af"},c.playSoundWood=function(){return"speel hout geluid af"},c.positionOutTopLeft=function(){return"Naar boven links"},c.positionOutTopRight=function(){return"naar boven rechts"},c.positionTopOutLeft=function(){return"naar boven buiten de linkerpositie"},c.positionTopLeft=function(){return"naar de positie linksboven"},c.positionTopCenter=function(){return"naar de positie midden boven"},c.positionTopRight=function(){return"naar de positie rechtsboven"},c.positionTopOutRight=function(){return"naar boven buiten de rechterpositie"},c.positionMiddleLeft=function(){return"naar de midden linkse positie"},c.positionMiddleCenter=function(){return"naar de middelste positie"},c.positionMiddleRight=function(){return"naar de positie middel rechts"},c.positionBottomOutLeft=function(){return"naar beneden buiten de linkerpositie"},c.positionBottomLeft=function(){return"naar de positie linksonder"},c.positionBottomCenter=function(){return"naar de positie midden onder"},c.positionBottomRight=function(){return"naar de positie rechtsonder"},c.positionBottomOutRight=function(){return"naar beneden buiten de rechterpositie"},c.positionOutBottomLeft=function(){return"naar beneden links"},c.positionOutBottomRight=function(){return"naar benden rechts"},c.positionRandom=function(){return"naar de willekeurige positie"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"willekeurig"},c.reinfFeedbackMsg=function(){return"Klik 'Probeer opnieuw' om terug te gaan naar je spel."},c.repeatForever=function(){return"blijven herhalen"},c.repeatDo=function(){return"doe"},c.repeatForeverTooltip=function(){return"Voer de acties in dit blok zolang het verhaal bezig is."},c.saySprite=function(){return"zeg"},c.saySpriteN=function(a){return"speler "+v(a,"spriteIndex")+" zegt"},c.saySpriteTooltip=function(){return"Toon een tekstballon met de tekst van de speler."},c.scoreText=function(a){return"Punten: "+v(a,"playerScore")},c.setBackground=function(){return"stel de achtergrond in"},c.setBackgroundRandom=function(){return"stel een willekeurige achtergrond in"},c.setBackgroundBlack=function(){return"stel een zwarte achtergrond in"},c.setBackgroundCave=function(){return"stel de grotachtergrond in"},c.setBackgroundCloudy=function(){return"stel de bewolkte achtergrond in"},c.setBackgroundHardcourt=function(){return"stel de tennisveld achtergrond in"},c.setBackgroundNight=function(){return"stel de nachtachtergrond in"},c.setBackgroundUnderwater=function(){return"stel de onderwaterachtergrond in"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Hiermee stel je de achtergrondafbeelding in"},c.setScoreText=function(){return"score instellen"},c.setScoreTextTooltip=function(){return"Hiermee wordt de tekst op het scorebord weergeven."},c.setSpriteEmotionAngry=function(){return"naar een boos humeur"},c.setSpriteEmotionHappy=function(){return"naar een blij humeur"},c.setSpriteEmotionNormal=function(){return"naar een normaal humeur"},c.setSpriteEmotionRandom=function(){return"naar een willekeurig humeur"},c.setSpriteEmotionSad=function(){return"naar een verdrietig humeur"},c.setSpriteEmotionTooltip=function(){return"Zet het humeur van de acteur"},c.setSpriteAlien=function(){return"naar een alien plaatje"},c.setSpriteBat=function(){return"naar een vleermuis plaatje"},c.setSpriteBird=function(){return"naar een vogel plaatje"},c.setSpriteCat=function(){return"naar een kat"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"naar een dinosaurus"},c.setSpriteDog=function(){return"naar een hond"},c.setSpriteDragon=function(){return"naar een draak plaatje"},c.setSpriteGhost=function(){return"naar een spook plaatje"},c.setSpriteHidden=function(){return"naar onzichtbaar"},c.setSpriteHideK1=function(){return"verberg"},c.setSpriteKnight=function(){return"naar een ridder plaatje"},c.setSpriteMonster=function(){return"naar een monster plaatje"},c.setSpriteNinja=function(){return"naar een gemaskerde ninja plaatje"},c.setSpriteOctopus=function(){return"naar een inktvis"},c.setSpritePenguin=function(){return"naar een penguin"},c.setSpritePirate=function(){return"naar een piraat plaatje"},c.setSpritePrincess=function(){return"naar een princes plaatje"},c.setSpriteRandom=function(){return"naar een willekeurige afbeelding"},c.setSpriteRobot=function(){return"naar een robot plaatje"},c.setSpriteShowK1=function(){return"toon"},c.setSpriteSpacebot=function(){return"naar een spacebot plaatje"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"naar een eekhoorn plaatje"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"naar een eenhoorn plaatje"},c.setSpriteWitch=function(){return"naar een heks"},c.setSpriteWizard=function(){return"naar een tovenaar plaatje"},c.setSpritePositionTooltip=function(){return"Verplaats de speler meteen naar een opgegeven plaats."},c.setSpriteK1Tooltip=function(){return"Toont of verbergt de speler."},c.setSpriteTooltip=function(){return"Hiermee wordt de acteur afbeelding ingesteld"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"op willekeurige snelheid"},c.setSpriteSpeedVerySlow=function(){return"naar heel langzaam"},c.setSpriteSpeedSlow=function(){return"naar langzaam"},c.setSpriteSpeedNormal=function(){return"naar normaal"},c.setSpriteSpeedFast=function(){return"naar snel"},c.setSpriteSpeedVeryFast=function(){return"naar heel snel"},c.setSpriteSpeedTooltip=function(){return"Hiermee stel je de snelheid van een speler in"},c.setSpriteZombie=function(){return"naar een zombie plaatje"},c.shareStudioTwitter=function(){return"Lees mijn verhaal. Ik heb dat zelf met @codeorg geschreven"},c.shareGame=function(){return"Deel je verhaal:"},c.showTitleScreen=function(){return"toon titelscherm"},c.showTitleScreenTitle=function(){return"titel"},c.showTitleScreenText=function(){return"tekst"},c.showTSDefTitle=function(){return"typ hier de titel"},c.showTSDefText=function(){return"typ de tekst hier"},c.showTitleScreenTooltip=function(){return"toon een titelscherm met bijbehorende titel en tekst."},c.setSprite=function(){return"stel in"},c.setSpriteN=function(a){return"Zet speler "+v(a,"spriteIndex")},c.soundCrunch=function(){return"kraak"},c.soundGoal1=function(){return"doel 1"},c.soundGoal2=function(){return"doel 2"},c.soundHit=function(){return"raak"},c.soundLosePoint=function(){return"punt verloren"},c.soundLosePoint2=function(){return"punt verloren 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"klap"},c.soundWinPoint=function(){return"punt gewonnen"},c.soundWinPoint2=function(){return"punt gewonnen 2"},c.soundWood=function(){return"hout"},c.speed=function(){return"snelheid"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop speler "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Hiermee wordt een beweging van een acteur gestopt."},c.throwSprite=function(){return"gooi"},c.throwSpriteN=function(a){return"speler "+v(a,"spriteIndex")+" gooit"},c.throwTooltip=function(){return"Gooit een projectiel vanaf de gekozen speler."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wacht op"},c.waitSeconds=function(){return"seconden"},c.waitForClick=function(){return"wacht voor de klik"},c.waitForRandom=function(){return"wacht op willekeurig"},c.waitForHalfSecond=function(){return"wacht een halve seconde"},c.waitFor1Second=function(){return"wacht 1 seconde"},c.waitFor2Seconds=function(){return"wacht 2 seconden"},c.waitFor5Seconds=function(){return"wacht 5 seconden"},c.waitFor10Seconds=function(){return"wacht 10 seconden"},c.waitParamsTooltip=function(){return"Wacht voor een opgegeven aantal seconden of voer nul in om te wachten op een klik."},c.waitTooltip=function(){return"Wacht voor een gekozen tijdsduur of op een klik."},c.whenArrowDown=function(){return"pijltje naar beneden"},c.whenArrowLeft=function(){return"pijltje naar links"},c.whenArrowRight=function(){return"pijltje naar rechts"},c.whenArrowUp=function(){return"pijltje naar boven"},c.whenArrowTooltip=function(){return"Voer de acties hieronder uit als de opgegeven pijltjestoets wordt ingedrukt."},c.whenDown=function(){return"als pijltje naar beneden"},c.whenDownTooltip=function(){return"Voer de acties hieronder uit als pijltje naar beneden wordt ingedrukt."},c.whenGameStarts=function(){return"zodra het verhaal begint"},c.whenGameStartsTooltip=function(){return"Voer de acties hieronder uit als het verhaal begint."},c.whenLeft=function(){return"als pijltje naar links"},c.whenLeftTooltip=function(){return"Voer de acties hieronder uit als pijltje naar links wordt ingedrukt."},c.whenRight=function(){return"als pijltje naar rechts"},c.whenRightTooltip=function(){return"Voer de acties hieronder uit als pijltje naar rechts wordt ingedrukt."},c.whenSpriteClicked=function(){return"als speler geklikt heeft"},c.whenSpriteClickedN=function(a){return"als speler "+v(a,"spriteIndex")+" geklikt heeft"},c.whenSpriteClickedTooltip=function(){return"Voer de acties hieronder uit als op een speler geklikt wordt."},c.whenSpriteCollidedN=function(a){return"als speler "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Voer de acties hieronder uit als een speler een andere speler raakt."},c.whenSpriteCollidedWith=function(){return"raakt"},c.whenSpriteCollidedWithN=function(a){return"raakt speler "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"raakt onderrand"},c.whenSpriteCollidedWithLeftEdge=function(){return"raakt linkerrand"},c.whenSpriteCollidedWithRightEdge=function(){return"raakt rechterrand"},c.whenSpriteCollidedWithTopEdge=function(){return"raakt bovenrand"},c.whenUp=function(){return"als pijltje naar boven"},c.whenUpTooltip=function(){return"Voer de acties hieronder uit als pijltje naar boven wordt ingedrukt."},c.yes=function(){return"Ja"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring"); d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/no_no/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/no_no/common":40,"../../locale/no_no/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/no_no/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/no_no/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/no_no/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/no_no/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/no_no/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/no_no/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/no_no/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/no_no/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/no_no/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/no_no/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/no_no/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/no_no/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.no=function(a){return 1===a?"one":"other"},c.and=function(){return"og"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Handlinger"},c.catColour=function(){return"Farge"},c.catLogic=function(){return"Logikk"},c.catLists=function(){return"Lister"},c.catLoops=function(){return"Løkker"},c.catMath=function(){return"Matematikk"},c.catProcedures=function(){return"Funksjoner"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variabler"},c.codeTooltip=function(){return"Se generert JavaScript-kode."},c.continue=function(){return"Fortsett"},c.dialogCancel=function(){return"Avbryt"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"slutt"},c.emptyBlocksErrorMsg=function(){return'"Gjenta"- eller "Hvis"-blokken må ha andre blokker inne i seg for å fungere. Kontroller at den indre blokken sitter riktig på plass i blokken som er utenfor.'},c.emptyFunctionBlocksErrorMsg=function(){return"Funksjonsblokken må ha andre blokker inni seg for å virke."},c.extraTopBlocks=function(){return"Du har ekstra blokker som ikke er knyttet til en hendelse blokk."},c.finalStage=function(){return"Gratulerer! Du har fullført siste nivå."},c.finalStageTrophies=function(a){return"Gratulerer! Du har fullført siste nivå og vunnet "+p(a,"numTrophies",0,"no",{one:"en pokal",other:n(a,"numTrophies")+" pokaler"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Selv topp universiteter lærer blokk-basert koding (f.eks "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Men under panseret, kan blokkene du har samlet også vises i JavaScript, verdens mest brukte kode språk:"},c.hashError=function(){return"Beklager, '%1' samsvarer ikke med noe lagret program."},c.help=function(){return"Hjelp"},c.hintTitle=function(){return"Tips:"},c.jump=function(){return"Hopp"},c.levelIncompleteError=function(){return"Du bruker alle nødvendige typer blokker, men ikke på riktig måte."},c.listVariable=function(){return"liste"},c.makeYourOwnFlappy=function(){return'Lag ditt eget "Sprette-Spill"'},c.missingBlocksErrorMsg=function(){return"Forsøk en eller flere av blokkene under for å løse denne oppgaven."},c.nextLevel=function(a){return"Gratulerer! Du har fullført oppgave "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Gratulerer! Du har fullført oppgave "+v(a,"puzzleNumber")+" og vunnet "+p(a,"numTrophies",0,"no",{one:"en pokal",other:n(a,"numTrophies")+" pokaler"})+"."},c.nextStage=function(a){return"Gratulerer! Du fullførte "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed "+v(a,"stageName")+" and won "+p(a,"numTrophies",0,"no",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Gratulerer! Du har fullført oppgave "+v(a,"puzzleNumber")+". (Men, du kunne ha brukt kun "+p(a,"numBlocks",0,"no",{one:"1 blokk",other:n(a,"numBlocks")+" blokker"})+".)"},c.numLinesOfCodeWritten=function(a){return"Du har akkurat skrevet "+p(a,"numLines",0,"no",{one:"1 linje",other:n(a,"numLines")+" linjer"})+" med kode!"},c.play=function(){return"spill av"},c.puzzleTitle=function(a){return"Oppgave "+v(a,"puzzle_number")+" av "+v(a,"stage_total")},c.repeat=function(){return"gjenta"},c.resetProgram=function(){return"Nullstill"},c.runProgram=function(){return"Start"},c.runTooltip=function(){return"Kjør programmet definert av blokkene i arbeidsområdet."},c.score=function(){return"poengsum"},c.showCodeHeader=function(){return"Vis kode"},c.showGeneratedCode=function(){return"Vis kode"},c.subtitle=function(){return"et visuelt programmeringsopplegg"},c.textVariable=function(){return"tekst"},c.tooFewBlocksMsg=function(){return"Du bruker alle de nødvendige blokktypene, men forsøk å bruke flere av denne typen blokker for å løse denne oppgaven."},c.tooManyBlocksMsg=function(){return"Denne oppgaven kan løses med blokker."},c.tooMuchWork=function(){return"Du fikk meg til å gjøre masse arbeid! Kan du forsøke med mindre repetisjon?"},c.toolboxHeader=function(){return"Blokker"},c.openWorkspace=function(){return"Slik fungerer det"},c.totalNumLinesOfCodeWritten=function(a){return"Totalt: "+p(a,"numLines",0,"no",{one:"1 linje",other:n(a,"numLines")+" linjer"})+" med kode."},c.tryAgain=function(){return"Forsøk igjen"},c.hintRequest=function(){return"Se hint"},c.backToPreviousLevel=function(){return"Tilbake til forrige nivå"},c.saveToGallery=function(){return"Lagre til galleriet"},c.savedToGallery=function(){return"Lagret i galleriet!"},c.typeCode=function(){return"Skriv din JavaScript-kode under disse instruksjonene."},c.typeFuncs=function(){return"Tilgjengelige funksjoner: %1"},c.typeHint=function(){return"Legg merke til at paranteser og semikolon er nødvendig."},c.workspaceHeader=function(){return"Sett sammen blokkene dine her: "},c.infinity=function(){return"Uendelig"},c.rotateText=function(){return"Roter enheten din."},c.orientationLock=function(){return"Skru av roteringslåsen på enheten din."},c.wantToLearn=function(){return"Vil du lære å kode?"},c.watchVideo=function(){return"Se videoen"},c.when=function(){return"når"},c.whenRun=function(){return"når kjørt"},c.tryHOC=function(){return"Prøv Kodetimen"},c.signup=function(){return"Registrer deg for introduksjonskurset"},c.hintHeader=function(){return"Her er et tips:"},c.genericFeedback=function(){return"Se hvordan du endte opp, og prøv å fikse programmet ditt."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.no=function(a){return 1===a?"one":"other"},c.actor=function(){return"skuespiller"},c.catActions=function(){return"Handlinger"},c.catControl=function(){return"Løkker"},c.catEvents=function(){return"Hendelser"},c.catLogic=function(){return"Logikk"},c.catMath=function(){return"Matematikk"},c.catProcedures=function(){return"Funksjoner"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variabler"},c.changeScoreTooltip=function(){return"Legge til eller fjerne et poeng fra poengsummen."},c.changeScoreTooltipK1=function(){return"Legg til ett poeng til poengsummen."},c.continue=function(){return"Fortsett"},c.decrementPlayerScore=function(){return"Fjern punkt"},c.defaultSayText=function(){return"Skriv her"},c.emotion=function(){return"humør"},c.finalLevel=function(){return"Gratulerer! Du har løst den siste oppgaven."},c.hello=function(){return"hallo"},c.helloWorld=function(){return"Hei, verden!"},c.incrementPlayerScore=function(){return"score poeng"},c.makeProjectileDisappear=function(){return"forsvinne"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Gjøre prosjektil som bare kolliderte forsvinner eller spretter."},c.makeYourOwn=function(){return"Lag din egen historie"},c.moveDirectionDown=function(){return"ned"},c.moveDirectionLeft=function(){return"venstre"},c.moveDirectionRight=function(){return"høyre"},c.moveDirectionUp=function(){return"opp"},c.moveDirectionRandom=function(){return"tilfeldig"},c.moveDistance25=function(){return"25 piksler"},c.moveDistance50=function(){return"50 piksler"},c.moveDistance100=function(){return"100 piksler"},c.moveDistance200=function(){return"200 piksler"},c.moveDistance400=function(){return"400 piksler"},c.moveDistancePixels=function(){return"piksler"},c.moveDistanceRandom=function(){return"tilfeldige piksler"},c.moveDistanceTooltip=function(){return"Flytt en skuespiller en bestemt avstand i den angitte retningen."},c.moveSprite=function(){return"flytt"},c.moveSpriteN=function(a){return"flytte skuespiller "+v(a,"spriteIndex")},c.moveDown=function(){return"flytt ned"},c.moveDownTooltip=function(){return"Flytt en skuespiller ned."},c.moveLeft=function(){return"flytt til venstre"},c.moveLeftTooltip=function(){return"flytt en skuespiller til venstre."},c.moveRight=function(){return"flytt høyre"},c.moveRightTooltip=function(){return"flytt en skuespiller til høyre."},c.moveUp=function(){return"flytt opp"},c.moveUpTooltip=function(){return"flytt en skuespiller opp."},c.moveTooltip=function(){return"flytt en skuespiller."},c.nextLevel=function(){return"Gratulerer! Du har fullført denne oppgaven."},c.no=function(){return"Nei"},c.numBlocksNeeded=function(){return"Denne oppgaven kan løses med %1 blokker."},c.ouchExclamation=function(){return"Au!"},c.playSoundCrunch=function(){return"Spill knase-lyd"},c.playSoundGoal1=function(){return"spill mål-lyd 1"},c.playSoundGoal2=function(){return"spill mål-lyd 2"},c.playSoundHit=function(){return"spill treff-lyd"},c.playSoundLosePoint=function(){return"spille miste poeng lyd"},c.playSoundLosePoint2=function(){return"spille miste poeng 2 lyd"},c.playSoundRetro=function(){return"spille retro lyd"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Spill valgt lyd."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"over øverst venstre posisjon"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"tilfeldig"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"gjør"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"Sier"},c.saySpriteN=function(a){return"skuespiller "+v(a,"spriteIndex")+" sier"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Sluttresultat: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"Angi svart bakgrunn"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"Angi en bakgrunn med skyer"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Angir bakgrunnsbilde"},c.setScoreText=function(){return"Angi poengsum"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"til et tilfeldig bilde"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"til et bilde av en heks"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Flytter en skuespiller til den angitte plasseringen."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Angir skuespiller bildet"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"til en tilfeldig fart"},c.setSpriteSpeedVerySlow=function(){return"til en treig fart"},c.setSpriteSpeedSlow=function(){return"til en langsom fart"},c.setSpriteSpeedNormal=function(){return"til en normal fart"},c.setSpriteSpeedFast=function(){return"til en rask fart"},c.setSpriteSpeedVeryFast=function(){return"til en veldig rask fart"},c.setSpriteSpeedTooltip=function(){return"Angir farten til en skuespiller"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Sjekk ut historien jeg lagde. Jeg skrev den selv med @codeorg"},c.shareGame=function(){return"Del din historie:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"tekst"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"Angi"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"knas"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stopp"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stopper en skuespillers bevegelser."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"vent på klikk"},c.waitForRandom=function(){return"Vent på tilfeldig"},c.waitForHalfSecond=function(){return"vente et halvt sekund"},c.waitFor1Second=function(){return"Vent i 1 sekund"},c.waitFor2Seconds=function(){return"Vent i 2 sekunder"},c.waitFor5Seconds=function(){return"Vent i fem sekunder"},c.waitFor10Seconds=function(){return"Vent i 10 sekunder"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Venter i en viss tid eller til et klikk oppstår."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"Når pil ned"},c.whenDownTooltip=function(){return"Utfør handlingene nedenfor når pil ned-tasten trykkes."},c.whenGameStarts=function(){return"Når historien starter"},c.whenGameStartsTooltip=function(){return"Utfør handlingene nedenfor når historien starter."},c.whenLeft=function(){return"Når venstre pil"},c.whenLeftTooltip=function(){return"Utfør handlingene nedenfor når venstre pil-tasten trykkes."},c.whenRight=function(){return"Når høyre pil"},c.whenRightTooltip=function(){return"Utfør handlingene nedenfor når du trykker piltasten høyre."},c.whenSpriteClicked=function(){return"Når skuespilleren blir klikket"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Ja"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/pl_pl/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/pl_pl/common":40,"../../locale/pl_pl/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pl_pl/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pl_pl/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/pl_pl/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/pl_pl/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/pl_pl/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pl_pl/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pl_pl/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pl_pl/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/pl_pl/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pl_pl/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pl_pl/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pl_pl/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.pl=function(a){return 1==a?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||1!=a&&a%10==1||(a%10>=5&&9>=a%10||a%100>=12&&14>=a%100)&&a==Math.floor(a)?"many":"other"},c.and=function(){return"i"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Działania"},c.catColour=function(){return"Kolor"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"Listy"},c.catLoops=function(){return"Pętle"},c.catMath=function(){return"Matematyczne"},c.catProcedures=function(){return"Funkcje"},c.catText=function(){return"Tekstowe"},c.catVariables=function(){return"Zmienne"},c.codeTooltip=function(){return"Zobacz wygenerowany kod JavaScript."},c.continue=function(){return"Dalej"},c.dialogCancel=function(){return"Anuluj"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"Północ"},c.directionSouthLetter=function(){return"Południe"},c.directionEastLetter=function(){return"Wschód"},c.directionWestLetter=function(){return"Zachód"},c.end=function(){return"koniec"},c.emptyBlocksErrorMsg=function(){return"Blok powtórz lub blok jeśli musi zawierać inne bloki w środku, by poprawnie działać. Upewnij się, czy wewnętrzny blok pasuje do zewnętrznego."},c.emptyFunctionBlocksErrorMsg=function(){return"Funkcja blokowania musi mieć inne bloki wewnątrz do pracy."},c.extraTopBlocks=function(){return"Pozostały Ci jeszcze bloki, które nie zostały połączone z blokiem zdarzenia."},c.finalStage=function(){return"Gratulacje! Ukończyłeś ostatni etap."},c.finalStageTrophies=function(a){return"Gratulacje! Ukończyłeś ostatni etap i wygrałeś "+p(a,"numTrophies",0,"pl",{one:"trofeum",other:n(a,"numTrophies")+" trofea"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Nawet najlepsze uczelnie uczą kodowania opartego o bloki (np. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Ale bloki które zostały użyte, można również zobaczyć w JavaScript, jednym z najbardziej powszechnie stosowanym języku programowania na świecie:"},c.hashError=function(){return"Przepraszamy, '%1' nie odpowiada żadnemu zapisanemu programowi."},c.help=function(){return"Pomoc"},c.hintTitle=function(){return"Podpowiedź:"},c.jump=function(){return"skacz"},c.levelIncompleteError=function(){return"Używasz wszystkich niezbędnych rodzajów bloków, ale w niewłaściwy sposób."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Utwórz swoją grę Flappy"},c.missingBlocksErrorMsg=function(){return"Spróbuj użyć jednego lub więcej poniższych bloków, by rozwiązać tę łamigłówkę."},c.nextLevel=function(a){return"Gratulacje! Rozwiązałeś Łamigłówkę nr "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Gratulacje! Rozwiązałeś Łamigłówkę nr "+v(a,"puzzleNumber")+" i wygrałeś "+p(a,"numTrophies",0,"pl",{one:"trofeum",other:n(a,"numTrophies")+" trofea"})+"." },c.nextStage=function(a){return"Gratulacje! Ukonczyłeś etap "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed "+v(a,"stageName")+" and won "+p(a,"numTrophies",0,"pl",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Gratulacje! Rozwiązałeś Łamigłówkę nr "+v(a,"puzzleNumber")+". (Jednakże, mogłeś użyć jedynie "+p(a,"numBlocks",0,"pl",{one:"1 blok",other:n(a,"numBlocks")+" bloków"})+")"},c.numLinesOfCodeWritten=function(a){return"Właśnie napisałeś "+p(a,"numLines",0,"pl",{one:"1 linię",other:n(a,"numLines")+" linii"})+" kodu!"},c.play=function(){return"Zagraj"},c.puzzleTitle=function(a){return"Łamigłówka "+v(a,"puzzle_number")+" z "+v(a,"stage_total")},c.repeat=function(){return"powtórz"},c.resetProgram=function(){return"Zresetuj"},c.runProgram=function(){return"Biegnij"},c.runTooltip=function(){return"Uruchom program zdefiniowany poprzez bloki w miejscu roboczym."},c.score=function(){return"wynik"},c.showCodeHeader=function(){return"Pokaż kod"},c.showGeneratedCode=function(){return"Pokaż kod"},c.subtitle=function(){return"graficzne środowisko programistyczne"},c.textVariable=function(){return"tekst"},c.tooFewBlocksMsg=function(){return"Używasz wszystkich wymaganych bloków, ale spróbuj użyć ich więcej, aby ukończyć łamigłówkę."},c.tooManyBlocksMsg=function(){return"Ta łamigłówka może być rozwiązana przy pomocy bloków ."},c.tooMuchWork=function(){return"Spowodowałeś, że miałem dużo pracy. Czy możesz zmniejszyć liczbę powtórzeń?"},c.toolboxHeader=function(){return"Bloki"},c.openWorkspace=function(){return"Jak to działa"},c.totalNumLinesOfCodeWritten=function(a){return"Najlepszy zanotowany dotąd wynik: "+p(a,"numLines",0,"pl",{one:"1 linia",other:n(a,"numLines")+" linii"})+" kodu."},c.tryAgain=function(){return"Spróbuj ponownie"},c.hintRequest=function(){return"Zobacz podpowiedź"},c.backToPreviousLevel=function(){return"Wróć do poprzedniego poziomu"},c.saveToGallery=function(){return"Zapisz do swojej galerii"},c.savedToGallery=function(){return"Zapisane w twojej galerii!"},c.typeCode=function(){return"Wpisz swój JavaScript kod poniżej tych instrukcji."},c.typeFuncs=function(){return"Dostępne funkcje:%1"},c.typeHint=function(){return"Zauważ, że nawiasy i średniki są wymagane."},c.workspaceHeader=function(){return"Połącz swoje bloki tutaj: "},c.infinity=function(){return"Nieskończoność"},c.rotateText=function(){return"Obróć swoje urządzenie."},c.orientationLock=function(){return"Wyłącz blokadę orientacji w ustawieniach urządzenia."},c.wantToLearn=function(){return"Czy chcesz nauczyć się kodowania (programowania)?"},c.watchVideo=function(){return"Obejrzyj wideo"},c.when=function(){return"Kiedy"},c.whenRun=function(){return"po uruchomieniu"},c.tryHOC=function(){return"Weź udział w Godzinie kodowania (the Hour Code)"},c.signup=function(){return"Zapisz się na kurs wprowadzający"},c.hintHeader=function(){return"Oto wskazówka:"},c.genericFeedback=function(){return"Zobacz jak skończyłeś, i spróbuj naprawić swój program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.pl=function(a){return 1==a?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||1!=a&&a%10==1||(a%10>=5&&9>=a%10||a%100>=12&&14>=a%100)&&a==Math.floor(a)?"many":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Akcje"},c.catControl=function(){return"Pętle"},c.catEvents=function(){return"Zdarzenia"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematyka"},c.catProcedures=function(){return"Funkcje"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Zmienne"},c.changeScoreTooltip=function(){return"Dodaj lub usuń punkt do wyniku."},c.changeScoreTooltipK1=function(){return"Dodaj punkt do wyniku."},c.continue=function(){return"Kontynuuj"},c.decrementPlayerScore=function(){return"usuń punkt"},c.defaultSayText=function(){return"wprowadź tutaj"},c.emotion=function(){return"nastrój"},c.finalLevel=function(){return"Gratulacje! Rozwiązałeś końcową łamigłówkę."},c.hello=function(){return"cześć"},c.helloWorld=function(){return"Witaj świecie!"},c.incrementPlayerScore=function(){return"wynik punktowy"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Stwórz własną historię"},c.moveDirectionDown=function(){return"dół"},c.moveDirectionLeft=function(){return"lewo"},c.moveDirectionRight=function(){return"prawo"},c.moveDirectionUp=function(){return"góra"},c.moveDirectionRandom=function(){return"losowy"},c.moveDistance25=function(){return"25 pikseli"},c.moveDistance50=function(){return"50 pikseli"},c.moveDistance100=function(){return"100 pikseli"},c.moveDistance200=function(){return"200 pikseli"},c.moveDistance400=function(){return"400 pikseli"},c.moveDistancePixels=function(){return"piksele"},c.moveDistanceRandom=function(){return"losowy piksel"},c.moveDistanceTooltip=function(){return"Przesuń aktora o określoną odległość w zadanym kierunku."},c.moveSprite=function(){return"przesuń"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"przesuń w dół"},c.moveDownTooltip=function(){return"Przesuń aktora w dół."},c.moveLeft=function(){return"przesuń w lewo"},c.moveLeftTooltip=function(){return"Przesuń aktora w lewo."},c.moveRight=function(){return"przesuń w prawo"},c.moveRightTooltip=function(){return"Przesuń aktora w prawo."},c.moveUp=function(){return"przesuń w górę"},c.moveUpTooltip=function(){return"Przesuń aktora w górę."},c.moveTooltip=function(){return"Przesuń aktora."},c.nextLevel=function(){return"Gratulacje! Ukończyłeś tę łamigłówkę."},c.no=function(){return"Nie"},c.numBlocksNeeded=function(){return"Ta łamigłówka może być rozwiązana z użyciem %1 bloków."},c.ouchExclamation=function(){return"Ojej!"},c.playSoundCrunch=function(){return"odtwórz dźwięk chrupania"},c.playSoundGoal1=function(){return"odtwórz dźwięk gola nr 1"},c.playSoundGoal2=function(){return"odtwórz dźwięk gola nr 2"},c.playSoundHit=function(){return"odtwórz dźwięk trafienia"},c.playSoundLosePoint=function(){return"zagraj dzwięk utraty punktu"},c.playSoundLosePoint2=function(){return"zagraj dzwięk utraty punktu nr 2"},c.playSoundRetro=function(){return"zagraj dźwięk retro"},c.playSoundRubber=function(){return"zagraj dźwięk gumy"},c.playSoundSlap=function(){return"zagraj dźwięk klaśnięcia"},c.playSoundTooltip=function(){return"Odtwórz wybrany dźwięk."},c.playSoundWinPoint=function(){return"zagraj dźwięk zdybycia punktu nr 1"},c.playSoundWinPoint2=function(){return"zagraj dźwięk zdybycia punktu nr 2"},c.playSoundWood=function(){return"zagraj dźwięk drewna"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"do górnej lewej pozycji"},c.positionTopCenter=function(){return"do górnej środkowej pozycji"},c.positionTopRight=function(){return"do górnej prawej pozycji"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"do środkowej pozycji z lewej"},c.positionMiddleCenter=function(){return"na środkową pozycję"},c.positionMiddleRight=function(){return"na środkową pozycję z prawej"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"na środkową dolną pozycję z lewej"},c.positionBottomCenter=function(){return"na środkową pozycję na dole"},c.positionBottomRight=function(){return"na dolną pozycję z prawej"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"na losową pozycję"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"losowy"},c.reinfFeedbackMsg=function(){return'Możesz nacisnąć przycisk "Spróbuj ponownie", aby powrócić do swojej opowieści.'},c.repeatForever=function(){return"powtarzaj w nieskończoność"},c.repeatDo=function(){return"wykonaj"},c.repeatForeverTooltip=function(){return"Wykonuj akcje w tym bloku bez przerwy dopóki trwa opowiadanie."},c.saySprite=function(){return"powiedz"},c.saySpriteN=function(a){return"aktor "+v(a,"spriteIndex")+" mówi"},c.saySpriteTooltip=function(){return"Wyświetl dymek z wiadomością skojarzoną z postacią."},c.scoreText=function(a){return"Wynik: "+v(a,"playerScore")},c.setBackground=function(){return"zestaw tło"},c.setBackgroundRandom=function(){return"ustaw losowe tło"},c.setBackgroundBlack=function(){return"ustaw czarne tło"},c.setBackgroundCave=function(){return"ustaw tło jaskini"},c.setBackgroundCloudy=function(){return"ustaw pochmurne tło"},c.setBackgroundHardcourt=function(){return"ustaw tło boiska do tenisa"},c.setBackgroundNight=function(){return"utaw nocne tło"},c.setBackgroundUnderwater=function(){return"ustaw tło podwodne"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Ustawia obraz w tle"},c.setScoreText=function(){return"ustaw wynik"},c.setScoreTextTooltip=function(){return"Ustawia tekst, który będzie pokazany w obszarze wyniku."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"do obrazu obcego"},c.setSpriteBat=function(){return"do obrazu nietoperza"},c.setSpriteBird=function(){return"do obrazu ptaka"},c.setSpriteCat=function(){return"do obrazu kota"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"do obrazu dinozaura"},c.setSpriteDog=function(){return"do obrazu psa"},c.setSpriteDragon=function(){return"do obrazu smoka"},c.setSpriteGhost=function(){return"do obrazu ducha"},c.setSpriteHidden=function(){return"na ukryty obrazek"},c.setSpriteHideK1=function(){return"ukryj"},c.setSpriteKnight=function(){return"do obrazu rycerza"},c.setSpriteMonster=function(){return"do obrazu potwora"},c.setSpriteNinja=function(){return"do obrazu zamaskowanego ninja"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"na losowy obrazek"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"Pokaż"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"do obrazu czarownicy"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Natychmiast przenosi aktora do określonej lokalizacji."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Ustawia obraz aktora"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"na losową prędkość"},c.setSpriteSpeedVerySlow=function(){return"na bardzo wolną prędkość"},c.setSpriteSpeedSlow=function(){return"na wolną prędkość"},c.setSpriteSpeedNormal=function(){return"na normalną prędkość"},c.setSpriteSpeedFast=function(){return"na szybką prędkość"},c.setSpriteSpeedVeryFast=function(){return"na bardzo szybką prędkość"},c.setSpriteSpeedTooltip=function(){return"ustawia prędkość aktora"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Zapoznaj się z opowieścią którą zrobiłem. Stworzyłem ją sam z @codeorg"},c.shareGame=function(){return"Udopstępnij swoją opowieść:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"Tytuł"},c.showTitleScreenText=function(){return"Tekst"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"ustaw"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"chrzęst"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"policzek"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"drewno"},c.speed=function(){return"prędkość"},c.stopSprite=function(){return"zatrzymaj"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"zatrzymaj ruch aktora."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"sekundy"},c.waitForClick=function(){return"poczekaj na kliknięcie"},c.waitForRandom=function(){return"poczekaj na losowe"},c.waitForHalfSecond=function(){return"czekaj pół sekundy"},c.waitFor1Second=function(){return"czekaj sekundę"},c.waitFor2Seconds=function(){return"czekaj 2 sekundy"},c.waitFor5Seconds=function(){return"czekaj 5 sekund"},c.waitFor10Seconds=function(){return"czekaj 10 sekund"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Czeka przez określony czas lub do momentu kliknięcia."},c.whenArrowDown=function(){return"Strzałka w dół"},c.whenArrowLeft=function(){return"Strzałka w lewo"},c.whenArrowRight=function(){return"Strzałka w prawo"},c.whenArrowUp=function(){return"Strzałka w górę"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"gdy strzałka w dół"},c.whenDownTooltip=function(){return"Wykonaj poniższe czynności, gdy wciśnięty jest klawisz strzałki w dół."},c.whenGameStarts=function(){return"gdy opowieść się zacznie"},c.whenGameStartsTooltip=function(){return"Wykonaj poniższe czynności, wraz z rozpoczęciem opowieści."},c.whenLeft=function(){return"gdy strzałka w lewo"},c.whenLeftTooltip=function(){return"Wykonaj poniższe czynności, gdy wciśnięty jest klawisz strzałki w lewo."},c.whenRight=function(){return"gdy strzałka w prawo"},c.whenRightTooltip=function(){return"Wykonaj poniższe czynności, gdy wciśnięty jest klawisz strzałki w prawo."},c.whenSpriteClicked=function(){return"po kliknięciu aktora"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Wykonaj czynności poniżej po kliknięciu na aktora."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Gdy aktor dotknie innego aktora, wykonaj poniższą akcję."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"gdy strzałka w górę"},c.whenUpTooltip=function(){return"Wykonaj poniższe czynności, gdy wciśnięty jest klawisz strzałki w górę."},c.yes=function(){return"Tak"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring"); d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/pt_br/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/pt_br/common":40,"../../locale/pt_br/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_br/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_br/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/pt_br/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/pt_br/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/pt_br/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_br/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_br/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_br/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/pt_br/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_br/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_br/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_br/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.pt=function(a){return 1===a?"one":"other"},c.and=function(){return"e"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Ações"},c.catColour=function(){return"Cor"},c.catLogic=function(){return"Lógica"},c.catLists=function(){return"Listas"},c.catLoops=function(){return"Laços"},c.catMath=function(){return"Matemática"},c.catProcedures=function(){return"Funções"},c.catText=function(){return"Texto"},c.catVariables=function(){return"Variáveis"},c.codeTooltip=function(){return"Veja o código JavaScript gerado."},c.continue=function(){return"Continuar"},c.dialogCancel=function(){return"Cancelar"},c.dialogOK=function(){return"Confirma"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"L"},c.directionWestLetter=function(){return"O"},c.end=function(){return"fim"},c.emptyBlocksErrorMsg=function(){return'Os blocos "Repita" ou "Se" precisam de outros blocos para funcionar. Verifique se o bloco de dentro se ajusta corretamente ao bloco principal.'},c.emptyFunctionBlocksErrorMsg=function(){return"O bloco de função precisa ter outros blocos dentro dele para funcionar."},c.extraTopBlocks=function(){return"blocoSuperiorExtra"},c.finalStage=function(){return"Parabéns! Você concluiu a fase final."},c.finalStageTrophies=function(a){return"Parabéns! Você concluiu a última fase e ganhou "+p(a,"numTrophies",0,"pt",{one:"um troféu",other:n(a,"numTrophies")+" troféus"})+"."},c.finish=function(){return"Concluir"},c.generatedCodeInfo=function(a){return"Mesmo as melhores universidades ensinam codificação em blocos (por exemplo, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Mas na verdade, os blocos que você juntou podem ser vistos em JavaScript, a linguagem de codificação mais usada em todo o mundo:"},c.hashError=function(){return"Nenhum programa salvo corresponde a '%1'."},c.help=function(){return"Ajuda"},c.hintTitle=function(){return"Dica:"},c.jump=function(){return"pule"},c.levelIncompleteError=function(){return"Você está usando todos os tipos de blocos necessários, mas não na ordem certa."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Crie seu próprio jogo Flappy bird"},c.missingBlocksErrorMsg=function(){return"Tente usar um ou mais dos blocos abaixo para resolver esse desafio."},c.nextLevel=function(a){return"Parabéns! Você completou o Desafio "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Parabéns! Você completou o Desafio "+v(a,"puzzleNumber")+" e ganhou "+p(a,"numTrophies",0,"pt",{one:"um troféu",other:n(a,"numTrophies")+" troféus"})+"."},c.nextStage=function(a){return"Parabéns! Você completou "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Parabéns! Você completou "+v(a,"stageName")+" e ganhou "+p(a,"numTrophies",0,"pt",{one:"um troféu",other:n(a,"numTrophies")+" troféus"})+"." },c.numBlocksNeeded=function(a){return"Parabéns! Você completou o Desafio "+v(a,"puzzleNumber")+". (Mas você poderia ter usado apenas "+p(a,"numBlocks",0,"pt",{one:"1 bloco",other:n(a,"numBlocks")+" blocos"})+")."},c.numLinesOfCodeWritten=function(a){return"Você escreveu "+p(a,"numLines",0,"pt",{one:"1 linha",other:n(a,"numLines")+" linhas"})+" de código!"},c.play=function(){return"jogue"},c.puzzleTitle=function(a){return"Desafio "+v(a,"puzzle_number")+" de "+v(a,"stage_total")},c.repeat=function(){return"repita"},c.resetProgram=function(){return"Recomeçar"},c.runProgram=function(){return"Executar"},c.runTooltip=function(){return"Execute o programa definido pelos blocos na área de trabalho."},c.score=function(){return"pontuação"},c.showCodeHeader=function(){return"Mostrar Código"},c.showGeneratedCode=function(){return"Mostrar código"},c.subtitle=function(){return"um ambiente de programação visual"},c.textVariable=function(){return"texto"},c.tooFewBlocksMsg=function(){return"Você está usando todos os tipos necessários de blocos, mas tente usar mais tipos de blocos para completar esse desafio."},c.tooManyBlocksMsg=function(){return"Esse desafio pode ser resolvido com < x id='START_SPAN'/>< x id= 'END_SPAN'/> blocos."},c.tooMuchWork=function(){return"Você me fez trabalhar bastante! Podemos tentar repetindo menos vezes?"},c.toolboxHeader=function(){return"Blocos"},c.openWorkspace=function(){return"Como funciona"},c.totalNumLinesOfCodeWritten=function(a){return"Total: "+p(a,"numLines",0,"pt",{one:"1 linha",other:n(a,"numLines")+" linhas"})+" de código."},c.tryAgain=function(){return"Tente novamente"},c.hintRequest=function(){return"Veja a dica"},c.backToPreviousLevel=function(){return"Voltar ao nível anterior"},c.saveToGallery=function(){return"Salve na sua galeria"},c.savedToGallery=function(){return"Salvo na sua galeria!"},c.typeCode=function(){return"Digite seu código JavaScript abaixo destas instruções."},c.typeFuncs=function(){return"Funções disponíveis: %1"},c.typeHint=function(){return"Observe que os parênteses e os ponto e vírgulas são necessários."},c.workspaceHeader=function(){return"Monte seus blocos aqui: "},c.infinity=function(){return"Infinito"},c.rotateText=function(){return"Gire seu dispositivo."},c.orientationLock=function(){return"Desative o bloqueio de orientação nas configurações do dispositivo."},c.wantToLearn=function(){return"Quer aprender a programar?"},c.watchVideo=function(){return"Assista ao vídeo"},c.when=function(){return"quando"},c.whenRun=function(){return"quando executar"},c.tryHOC=function(){return"Tente a Hora do Código"},c.signup=function(){return"Cadastre-se para o curso introdutório"},c.hintHeader=function(){return"Aqui vai uma dica:"},c.genericFeedback=function(){return"Veja como você terminou e tente consertar seu programa."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.pt=function(a){return 1===a?"one":"other"},c.actor=function(){return"personagem"},c.catActions=function(){return"Ações"},c.catControl=function(){return"Laços"},c.catEvents=function(){return"Eventos"},c.catLogic=function(){return"Lógica"},c.catMath=function(){return"Matemática"},c.catProcedures=function(){return"Funções"},c.catText=function(){return"Texto"},c.catVariables=function(){return"Variáveis"},c.changeScoreTooltip=function(){return"Adiciona ou remove um ponto."},c.changeScoreTooltipK1=function(){return"Adiciona um ponto."},c.continue=function(){return"Continuar"},c.decrementPlayerScore=function(){return"remova o ponto"},c.defaultSayText=function(){return"digite aqui"},c.emotion=function(){return"humor"},c.finalLevel=function(){return"Parabéns! Você resolveu o desafio final."},c.hello=function(){return"olá"},c.helloWorld=function(){return"Olá, mundo!"},c.incrementPlayerScore=function(){return"marque o ponto"},c.makeProjectileDisappear=function(){return"desapareça"},c.makeProjectileBounce=function(){return"quicar"},c.makeProjectileBlueFireball=function(){return"crie bola de fogo azul"},c.makeProjectilePurpleFireball=function(){return"crie bola de fogo roxa"},c.makeProjectileRedFireball=function(){return"crie bola de fogo vermelha"},c.makeProjectileYellowHearts=function(){return"crie corações amarelos"},c.makeProjectilePurpleHearts=function(){return"crie corações roxos"},c.makeProjectileRedHearts=function(){return"crie corações vermelhos"},c.makeProjectileTooltip=function(){return"Faça o projétil que colidiu desaparecer ou quicar."},c.makeYourOwn=function(){return"Crie sua Própria História"},c.moveDirectionDown=function(){return"baixo"},c.moveDirectionLeft=function(){return"esquerda"},c.moveDirectionRight=function(){return"direita"},c.moveDirectionUp=function(){return"cima"},c.moveDirectionRandom=function(){return"aleatório"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"pixels aleatórios"},c.moveDistanceTooltip=function(){return"Move um personagem em uma distância específica na direção indicada."},c.moveSprite=function(){return"mova"},c.moveSpriteN=function(a){return"mova o personagem "+v(a,"spriteIndex")},c.moveDown=function(){return"mova para baixo"},c.moveDownTooltip=function(){return"Move um personagem para baixo."},c.moveLeft=function(){return"mova à esquerda"},c.moveLeftTooltip=function(){return"Move um personagem à esquerda."},c.moveRight=function(){return"mova à direita"},c.moveRightTooltip=function(){return"Move um personagem à direita."},c.moveUp=function(){return"mova para cima"},c.moveUpTooltip=function(){return"Move um personagem para cima."},c.moveTooltip=function(){return"Move um personagem."},c.nextLevel=function(){return"Parabéns! Você completou o desafio."},c.no=function(){return"Não"},c.numBlocksNeeded=function(){return"Esse desafio pode ser resolvido com blocos de %1."},c.ouchExclamation=function(){return"Ai!"},c.playSoundCrunch=function(){return"reproduza som de trituração"},c.playSoundGoal1=function(){return"reproduza som de objetivo alcançado 1"},c.playSoundGoal2=function(){return"reproduza som de objetivo alcançado 2"},c.playSoundHit=function(){return"reproduza som de pancada"},c.playSoundLosePoint=function(){return"reproduza som de ponto perdido"},c.playSoundLosePoint2=function(){return"reproduza som de ponto perdido 2"},c.playSoundRetro=function(){return"reproduza som retrô"},c.playSoundRubber=function(){return"reproduza som de borracha"},c.playSoundSlap=function(){return"reproduza som de palmas"},c.playSoundTooltip=function(){return"Reproduz o som escolhido."},c.playSoundWinPoint=function(){return"reproduza som de ponto ganho"},c.playSoundWinPoint2=function(){return"reproduza som de ponto ganho 2"},c.playSoundWood=function(){return"reproduza som de madeira"},c.positionOutTopLeft=function(){return"para a posição superior esquerda"},c.positionOutTopRight=function(){return"para a posição superior direita"},c.positionTopOutLeft=function(){return"para a posição superior esquerda externa"},c.positionTopLeft=function(){return"para a posição superior esquerda"},c.positionTopCenter=function(){return"para a posição superior central"},c.positionTopRight=function(){return"para a posição superior direita"},c.positionTopOutRight=function(){return"para a posição superior direita externa"},c.positionMiddleLeft=function(){return"para a posição central esquerda"},c.positionMiddleCenter=function(){return"para o meio da posição central"},c.positionMiddleRight=function(){return"para a posição central direita"},c.positionBottomOutLeft=function(){return"para a posição inferior esquerda externa"},c.positionBottomLeft=function(){return"para a posição inferior esquerda"},c.positionBottomCenter=function(){return"para a posição inferior central"},c.positionBottomRight=function(){return"para a posição inferior direita"},c.positionBottomOutRight=function(){return"para a posição inferior direita externa"},c.positionOutBottomLeft=function(){return"para a posição inferior esquerda"},c.positionOutBottomRight=function(){return"para a posição inferior direita"},c.positionRandom=function(){return"para a posição aleatória"},c.projectileBlueFireball=function(){return"bola de fogo azul"},c.projectilePurpleFireball=function(){return"bola de fogo roxa"},c.projectileRedFireball=function(){return"bola de fogo vermelha"},c.projectileYellowHearts=function(){return"corações amarelos"},c.projectilePurpleHearts=function(){return"corações roxos"},c.projectileRedHearts=function(){return"corações vermelhos"},c.projectileRandom=function(){return"aleatório"},c.reinfFeedbackMsg=function(){return'Você pode clicar em "Tente novamente" para voltar a jogar o jogo.'},c.repeatForever=function(){return"repita infinitamente"},c.repeatDo=function(){return"faça"},c.repeatForeverTooltip=function(){return"Execute as ações neste bloco repetidamente enquanto a história é contada."},c.saySprite=function(){return"diga"},c.saySpriteN=function(a){return"personagem "+v(a,"spriteIndex")+" diz"},c.saySpriteTooltip=function(){return"Faz surgir um balão de fala com o texto relacionado ao personagem especificada."},c.scoreText=function(a){return"Pontuação: "+v(a,"playerScore")},c.setBackground=function(){return"defina o plano de fundo"},c.setBackgroundRandom=function(){return"defina o plano de fundo aleatoriamente"},c.setBackgroundBlack=function(){return"defina o plano de fundo preto"},c.setBackgroundCave=function(){return"defina o plano de fundo de caverna"},c.setBackgroundCloudy=function(){return"defina o plano de fundo de nuvens"},c.setBackgroundHardcourt=function(){return"defina o plano de fundo de quadra esportiva"},c.setBackgroundNight=function(){return"defina o plano de fundo de noite"},c.setBackgroundUnderwater=function(){return"defina o plano de fundo subaquático"},c.setBackgroundCity=function(){return"defina o plano de fundo de cidade"},c.setBackgroundDesert=function(){return"defina o plano de fundo de deserto"},c.setBackgroundRainbow=function(){return"defina o plano de fundo de arco-íris"},c.setBackgroundSoccer=function(){return"defina o plano de fundo de futebol"},c.setBackgroundSpace=function(){return"defina o plano de fundo de espaço sideral"},c.setBackgroundTennis=function(){return"defina o plano de fundo de tênis"},c.setBackgroundWinter=function(){return"defina o plano de fundo de inverno"},c.setBackgroundTooltip=function(){return"Define a imagem de fundo"},c.setScoreText=function(){return"defina a pontuação"},c.setScoreTextTooltip=function(){return"Define o texto que vai ser exibido na pontuação."},c.setSpriteEmotionAngry=function(){return"como bravo"},c.setSpriteEmotionHappy=function(){return"como feliz"},c.setSpriteEmotionNormal=function(){return"como normal"},c.setSpriteEmotionRandom=function(){return"como aleatório"},c.setSpriteEmotionSad=function(){return"como triste"},c.setSpriteEmotionTooltip=function(){return"Define o humor do personagem"},c.setSpriteAlien=function(){return"como um alienígena"},c.setSpriteBat=function(){return"para uma imagem de morcego"},c.setSpriteBird=function(){return"para uma imagem de pássaro"},c.setSpriteCat=function(){return"para uma imagem de gato"},c.setSpriteCaveBoy=function(){return"para a imagem de um menino das cavernas"},c.setSpriteCaveGirl=function(){return"para a imagem de uma menina das cavernas"},c.setSpriteDinosaur=function(){return"para uma imagem de dinossauro"},c.setSpriteDog=function(){return"para uma imagem de cachorro"},c.setSpriteDragon=function(){return"para uma imagem de dragão"},c.setSpriteGhost=function(){return"como um fantasma"},c.setSpriteHidden=function(){return"para uma imagem oculta"},c.setSpriteHideK1=function(){return"oculte"},c.setSpriteKnight=function(){return"como um cavaleiro"},c.setSpriteMonster=function(){return"como um monstro"},c.setSpriteNinja=function(){return"como um ninja mascarado"},c.setSpriteOctopus=function(){return"para uma imagem de polvo"},c.setSpritePenguin=function(){return"para uma imagem de pinguim"},c.setSpritePirate=function(){return"como um pirata"},c.setSpritePrincess=function(){return"como uma princesa"},c.setSpriteRandom=function(){return"para uma imagem aleatória"},c.setSpriteRobot=function(){return"como um robô"},c.setSpriteShowK1=function(){return"mostre"},c.setSpriteSpacebot=function(){return"como um robô espacial"},c.setSpriteSoccerGirl=function(){return"para a imagem de uma jogadora de futebol"},c.setSpriteSoccerBoy=function(){return"para a imagem de um jogador de futebol"},c.setSpriteSquirrel=function(){return"para uma imagem de esquilo"},c.setSpriteTennisGirl=function(){return"para a imagem de uma jogadora de tênis"},c.setSpriteTennisBoy=function(){return"para a imagem de um jogador de tênis"},c.setSpriteUnicorn=function(){return"como um unicórnio"},c.setSpriteWitch=function(){return"para uma imagem de bruxa"},c.setSpriteWizard=function(){return"para uma imagem de mago"},c.setSpritePositionTooltip=function(){return"Move um personagem instantaneamente para o local especificado."},c.setSpriteK1Tooltip=function(){return"Mostra ou oculta o personagem especificado."},c.setSpriteTooltip=function(){return"Define a imagem do personagem"},c.setSpriteSizeRandom=function(){return"para um tamanho aleatório"},c.setSpriteSizeVerySmall=function(){return"para um tamanho muito pequeno"},c.setSpriteSizeSmall=function(){return"para um tamanho pequeno"},c.setSpriteSizeNormal=function(){return"para um tamanho normal"},c.setSpriteSizeLarge=function(){return"para um tamanho grande"},c.setSpriteSizeVeryLarge=function(){return"para um tamanho muito grande"},c.setSpriteSizeTooltip=function(){return"Define o tamanho de um personagem"},c.setSpriteSpeedRandom=function(){return"para uma velocidade aleatória"},c.setSpriteSpeedVerySlow=function(){return"para uma velocidade bem lenta"},c.setSpriteSpeedSlow=function(){return"para uma velocidade lenta"},c.setSpriteSpeedNormal=function(){return"para uma velocidade normal"},c.setSpriteSpeedFast=function(){return"para uma velocidade rápida"},c.setSpriteSpeedVeryFast=function(){return"para uma velocidade bem rápida"},c.setSpriteSpeedTooltip=function(){return"Define a velocidade de um personagem"},c.setSpriteZombie=function(){return"como um zumbi"},c.shareStudioTwitter=function(){return"Dê uma na olhada na história que eu fiz. Eu mesmo a escrevi com a @codeorg"},c.shareGame=function(){return"Compartilhe sua história:"},c.showTitleScreen=function(){return"mostre a tela principal"},c.showTitleScreenTitle=function(){return"título"},c.showTitleScreenText=function(){return"texto"},c.showTSDefTitle=function(){return"digite o título aqui"},c.showTSDefText=function(){return"digite o texto aqui"},c.showTitleScreenTooltip=function(){return"Mostrar um tela de título com o título e o texto associados."},c.setSprite=function(){return"defina"},c.setSpriteN=function(a){return"defina o personagem "+v(a,"spriteIndex")},c.soundCrunch=function(){return"triture"},c.soundGoal1=function(){return"objetivo 1"},c.soundGoal2=function(){return"objetivo 2"},c.soundHit=function(){return"bata"},c.soundLosePoint=function(){return"perder ponto"},c.soundLosePoint2=function(){return"perder ponto 2"},c.soundRetro=function(){return"retrô"},c.soundRubber=function(){return"borracha"},c.soundSlap=function(){return"tapa"},c.soundWinPoint=function(){return"ganhar ponto"},c.soundWinPoint2=function(){return"ganhar ponto 2"},c.soundWood=function(){return"madeira"},c.speed=function(){return"velocidade"},c.stopSprite=function(){return"pare"},c.stopSpriteN=function(a){return"pare o personagem "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Para o movimento de um personagem."},c.throwSprite=function(){return"lance"},c.throwSpriteN=function(a){return"personagem "+v(a,"spriteIndex")+" lança"},c.throwTooltip=function(){return"Lança um projétil com o personagem especificado."},c.vanish=function(){return"desapareça"},c.vanishActorN=function(a){return"faça o personagem desaparecer "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Faz o personagem desaparecer."},c.waitFor=function(){return"espere por"},c.waitSeconds=function(){return"segundos"},c.waitForClick=function(){return"espere pelo clique"},c.waitForRandom=function(){return"espere aleatoriamente"},c.waitForHalfSecond=function(){return"espere por meio segundo"},c.waitFor1Second=function(){return"espere por 1 segundo"},c.waitFor2Seconds=function(){return"espere por 2 segundos"},c.waitFor5Seconds=function(){return"espere por 5 segundos"},c.waitFor10Seconds=function(){return"espere por 10 segundos"},c.waitParamsTooltip=function(){return"Espera por um número determinado de segundos ou usa o zero para esperar até que ocorra um clique."},c.waitTooltip=function(){return"Espera uma determinada quantia de tempo ou até que ocorra um clique."},c.whenArrowDown=function(){return"seta para baixo"},c.whenArrowLeft=function(){return"seta para a esquerda"},c.whenArrowRight=function(){return"seta para a direita"},c.whenArrowUp=function(){return"seta para cima"},c.whenArrowTooltip=function(){return"Execute as ações abaixo quando a tecla com a seta especificada estiver pressionada."},c.whenDown=function(){return"quando a seta para baixo estiver pressionada"},c.whenDownTooltip=function(){return"Execute as ações abaixo quando a tecla com a seta para baixo estiver pressionada."},c.whenGameStarts=function(){return"quando a história começa"},c.whenGameStartsTooltip=function(){return"Execute as ações abaixo quando a história começar."},c.whenLeft=function(){return"quando a seta à esquerda estiver pressionada"},c.whenLeftTooltip=function(){return"Execute as ações abaixo quando a tecla com a seta à esquerda estiver pressionada."},c.whenRight=function(){return"quando a seta à direita estiver pressionada"},c.whenRightTooltip=function(){return"Execute as ações abaixo quando a tecla com a seta à direita estiver pressionada."},c.whenSpriteClicked=function(){return"quando o personagem for clicado"},c.whenSpriteClickedN=function(a){return"quando o personagem "+v(a,"spriteIndex")+" for clicado"},c.whenSpriteClickedTooltip=function(){return"Execute as ações abaixo quando um personagem for clicado."},c.whenSpriteCollidedN=function(a){return"quando o personagem "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute as ações abaixo quando um personagem tocar em outro personagem."},c.whenSpriteCollidedWith=function(){return"toca"},c.whenSpriteCollidedWithN=function(a){return"toca o personagem "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"toca a bola de fogo azul"},c.whenSpriteCollidedWithPurpleFireball=function(){return"toca a bola de fogo roxa"},c.whenSpriteCollidedWithRedFireball=function(){return"toca a bola de fogo vermelha"},c.whenSpriteCollidedWithYellowHearts=function(){return"toca os corações amarelos"},c.whenSpriteCollidedWithPurpleHearts=function(){return"toca os corações roxos"},c.whenSpriteCollidedWithRedHearts=function(){return"toca os corações vermelhos"},c.whenSpriteCollidedWithBottomEdge=function(){return"toca a borda inferior"},c.whenSpriteCollidedWithLeftEdge=function(){return"toca a borda esquerda"},c.whenSpriteCollidedWithRightEdge=function(){return"toca a borda direita"},c.whenSpriteCollidedWithTopEdge=function(){return"toca a borda superior"},c.whenUp=function(){return"quando a seta para cima estiver pressionada"},c.whenUpTooltip=function(){return"Execute as ações abaixo quando a tecla com a seta para cima estiver pressionada."},c.yes=function(){return"Sim"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/pt_pt/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/pt_pt/common":40,"../../locale/pt_pt/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_pt/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_pt/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/pt_pt/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/pt_pt/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/pt_pt/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_pt/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_pt/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_pt/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/pt_pt/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_pt/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/pt_pt/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/pt_pt/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.pt=function(a){return 1===a?"one":"other"},c.and=function(){return"e"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Ações"},c.catColour=function(){return"Cor"},c.catLogic=function(){return"Lógica"},c.catLists=function(){return"Listas"},c.catLoops=function(){return"Ciclos"},c.catMath=function(){return"Matemática"},c.catProcedures=function(){return"Funções"},c.catText=function(){return"Texto"},c.catVariables=function(){return"Variáveis"},c.codeTooltip=function(){return"Vê o código gerado em Javascript."},c.continue=function(){return"Continuar"},c.dialogCancel=function(){return"Cancelar"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"O"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'Os blocos "Repetir" ou "Se" precisam de incluir blocos dentro para funcionar. Garante que o bloco interno encaixa correctamente dentro do bloco que o contém.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Tens blocos extras que não estão ligados a um bloco de evento."},c.finalStage=function(){return"Parabéns! Completaste a etapa final."},c.finalStageTrophies=function(a){return"Parabéns! Completaste a etapa final e ganhaste "+p(a,"numTrophies",0,"pt",{one:"troféu",other:n(a,"numTrophies")+" troféus"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Mesmo as melhores universidades ensinam código em blocos (por exemplo, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Mas na verdade, os blocos que juntaste podem ser vistos em JavaScript, a linguagem de código mais usada em todo o mundo:"},c.hashError=function(){return"Desculpa, '%1' não corresponde a qualquer programa gravado."},c.help=function(){return"Ajuda"},c.hintTitle=function(){return"Dica:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"Estás a usar todos os tipos necessários de blocos, mas não da forma certa."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Cria o teu próprio jogo Flappy"},c.missingBlocksErrorMsg=function(){return"Tenta um ou mais blocos dos seguintes para resolver o puzzle."},c.nextLevel=function(a){return"Parabéns! Completaste o puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Parabéns! Completaste o puzzle "+v(a,"puzzleNumber")+" e ganhaste "+p(a,"numTrophies",0,"pt",{one:"troféu",other:n(a,"numTrophies")+" troféus"})+"."},c.nextStage=function(a){return"Parabéns! Completaste "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Parabéns! Completaste "+v(a,"stageName")+" e ganhaste "+p(a,"numTrophies",0,"pt",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Parabéns! Completaste o puzzle "+v(a,"puzzleNumber")+". (Apesar disso, poderias ter usado somente "+p(a,"numBlocks",0,"pt",{one:"1 bloco",other:n(a,"numBlocks")+" blocos"})+".)"},c.numLinesOfCodeWritten=function(a){return"Acabaste de escrever "+p(a,"numLines",0,"pt",{one:"1 linha",other:n(a,"numLines")+" linhas"})+" de código!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" de "+v(a,"stage_total")},c.repeat=function(){return"repita"},c.resetProgram=function(){return"Repor"},c.runProgram=function(){return"Executa o programa"},c.runTooltip=function(){return"Executa o programa definido pelos blocos na área de trabalho."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Mostrar o Código"},c.showGeneratedCode=function(){return"Mostrar o código"},c.subtitle=function(){return"um ambiente de programação visual"},c.textVariable=function(){return"texto"},c.tooFewBlocksMsg=function(){return"Estás a usar todos os tipos de blocos necessários, mas tenta usar mais alguns desses blocos para completar este puzzle."},c.tooManyBlocksMsg=function(){return"Este puzzle pode ser resolvido com blocos."},c.tooMuchWork=function(){return"Fizeste-me ter muito trabalho! Podes tentar repetir menos vezes?"},c.toolboxHeader=function(){return"Blocos"},c.openWorkspace=function(){return"Como funciona"},c.totalNumLinesOfCodeWritten=function(a){return"Total de todos os tempos: "+p(a,"numLines",0,"pt",{one:"1 linha",other:n(a,"numLines")+" linhas"})+" de código."},c.tryAgain=function(){return"Tentar novamente"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Voltar ao nível anterior"},c.saveToGallery=function(){return"Guarda na tua galeria de imagens"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Coloca o teu código Javascript abaixo destas instruções."},c.typeFuncs=function(){return"Funções disponíveis:%1"},c.typeHint=function(){return"Repara que os parêntesis e ponto e vírgula são necessários."},c.workspaceHeader=function(){return"Monta os teus blocos aqui: "},c.infinity=function(){return"Infinito"},c.rotateText=function(){return"Roda o teu dispositivo."},c.orientationLock=function(){return"Desativa o bloqueio de orientação em configurações do dispositivo."},c.wantToLearn=function(){return"Queres aprender a programar com código?"},c.watchVideo=function(){return"Vê o vídeo"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Exprimenta a Hora do Código"},c.signup=function(){return"Inscreve-te para o curso de introdução"},c.hintHeader=function(){return"Aqui vai uma dica:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.pt=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Ações"},c.catControl=function(){return"Ciclos"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Lógica"},c.catMath=function(){return"Matemática"},c.catProcedures=function(){return"Funções"},c.catText=function(){return"Texto"},c.catVariables=function(){return"Variáveis"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Continua"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Parabéns! Resolveste o puzzle final."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"aumenta um ponto"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Faz a tua própria história"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"aleatório"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move para baixo"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move para a esquerda"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move para a direita"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move para cima"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Parabéns! Completaste este puzzle."},c.no=function(){return"Não"},c.numBlocksNeeded=function(){return"Este puzzle pode ser resolvido com blocos de %1 ."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"tocar som do objetivo 1"},c.playSoundGoal2=function(){return"tocar som do objetivo 2"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"tocar som de ponto perdido"},c.playSoundLosePoint2=function(){return"tocar som de ponto perdido 2"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"tocar som de borracha"},c.playSoundSlap=function(){return"tocar som de chapada"},c.playSoundTooltip=function(){return"Tocar o som escolhido."},c.playSoundWinPoint=function(){return"tocar som de ponto ganho"},c.playSoundWinPoint2=function(){return"tocar som de ponto ganho 2"},c.playSoundWood=function(){return"tocar som de madeira"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"aleatório"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"Faça"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Pontuação: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"texto"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"definir"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Sim"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ro_ro/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ro_ro/common":40,"../../locale/ro_ro/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ro_ro/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ro_ro/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ro_ro/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ro_ro/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ro_ro/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ro_ro/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ro_ro/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ro_ro/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ro_ro/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ro_ro/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ro_ro/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ro_ro/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ro=function(a){return 1==a?"one":0===a||1!=a&&a%100>=1&&19>=a%100&&a==Math.floor(a)?"few":"other"},c.and=function(){return"și"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Acţiuni"},c.catColour=function(){return"Culoare"},c.catLogic=function(){return"Logică"},c.catLists=function(){return"Liste"},c.catLoops=function(){return"Bucle"},c.catMath=function(){return"Matematică"},c.catProcedures=function(){return"Funcţii"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variabile"},c.codeTooltip=function(){return"Vezi codul JavaScript generat."},c.continue=function(){return"Continuă"},c.dialogCancel=function(){return"Revocare"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"V"},c.end=function(){return"șfâșit"},c.emptyBlocksErrorMsg=function(){return'Blocul "Repetă" sau "Dacă" trebuie să aibe alte blocuri în interiorul său pentru a putea funcționa. Asigură-te că blocul interior se încadrează corect în blocul care îl conține.'},c.emptyFunctionBlocksErrorMsg=function(){return"Blocul de funcţie trebuie să aibă alte blocuri în interior ca să funcţioneze."},c.extraTopBlocks=function(){return"Ai blocuri suplimentare care nu sunt ataşate la un bloc de eveniment."},c.finalStage=function(){return"Felicitări! Ai terminat ultima etapă."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"ro",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finalizare"},c.generatedCodeInfo=function(a){return"Chiar și în universităţi de top se predă programarea bazată pe blocuri de coduri (de exemplu, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Dar în esență, blocurile de cod pe care le-ai compus pot fi de asemenea afișate în JavaScript, limbajul de programare cel mai utilizat din lume:"},c.hashError=function(){return"Ne pare rău, '%1' nu corespunde cu nici un program salvat."},c.help=function(){return"Ajutor"},c.hintTitle=function(){return"Sugestie:"},c.jump=function(){return"sări"},c.levelIncompleteError=function(){return"Utilizezi toate tipurile de blocuri necesare, dar nu așa cum trebuie."},c.listVariable=function(){return"listă"},c.makeYourOwnFlappy=function(){return"Crează-ți propriul tău joc Flappy"},c.missingBlocksErrorMsg=function(){return"Încearcă unul sau mai multe blocuri de mai jos pentru a rezolva acest puzzle."},c.nextLevel=function(a){return"Felicitări! Ai terminat Puzzle-ul "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"ro",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.nextStage=function(a){return"Felicitări! Ai terminat "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed "+v(a,"stageName")+" and won "+p(a,"numTrophies",0,"ro",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"ro",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"ro",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"juca"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" din "+v(a,"stage_total")},c.repeat=function(){return"repetă"},c.resetProgram=function(){return"Resetează"},c.runProgram=function(){return"Rulează"},c.runTooltip=function(){return"Rulează programul definit de blocuri în spațiul de lucru."},c.score=function(){return"scor"},c.showCodeHeader=function(){return"Arată Codul"},c.showGeneratedCode=function(){return"Arată codul"},c.subtitle=function(){return"un mediu de programare vizual"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"Folosești toate tipurile necesare de blocuri, dar încearcă să utilizezi mai multe din aceste tipuri de blocuri pentru a completa puzzle-ul."},c.tooManyBlocksMsg=function(){return"Acest puzzle poate fi rezolvat cu blocuri ."},c.tooMuchWork=function(){return"M-ai făcut să lucrez foarte mult! Ai putea să încerci să repeți de mai puține ori?"},c.toolboxHeader=function(){return"Blocuri"},c.openWorkspace=function(){return"Cum funcţionează"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"ro",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Încearcă din nou"},c.hintRequest=function(){return"Arată indiciu"},c.backToPreviousLevel=function(){return"Înapoi la nivelul anterior"},c.saveToGallery=function(){return"Salvează în galeria proprie"},c.savedToGallery=function(){return"Salvat în galeria proprie!"},c.typeCode=function(){return"Tastează codul tău JavaScript sub aceste înstrucțiuni. "},c.typeFuncs=function(){return"Funcţii disponibile:%1"},c.typeHint=function(){return"Reţine că parantezele şi punct şi virgulă sunt absolut necesare."},c.workspaceHeader=function(){return"Asamblează-ţi blocurile aici: "},c.infinity=function(){return"Infinit"},c.rotateText=function(){return"Rotește dispozitivul tău."},c.orientationLock=function(){return"Oprește blocarea de orientare în setările dispozitivului."},c.wantToLearn=function(){return"Vrei să înveți să codezi?"},c.watchVideo=function(){return"Urmărește clipul video"},c.when=function(){return"când"},c.whenRun=function(){return"când alergi"},c.tryHOC=function(){return"Încearcă Ora de Cod"},c.signup=function(){return"Înscrie-te la cursul introductiv"},c.hintHeader=function(){return"Iată un sfat:"},c.genericFeedback=function(){return"Uită-te cum ai ajuns, şi încearcă să-ți stabilești programul tău."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ro=function(a){return 1==a?"one":0===a||1!=a&&a%100>=1&&19>=a%100&&a==Math.floor(a)?"few":"other"},c.actor=function(){return"actorul"},c.catActions=function(){return"Acţiuni"},c.catControl=function(){return"Bucle"},c.catEvents=function(){return"Evenimente"},c.catLogic=function(){return"Logică"},c.catMath=function(){return"Matematică"},c.catProcedures=function(){return"Funcţii"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variabile"},c.changeScoreTooltip=function(){return"Adăugaţi sau eliminaţi un punct la scor."},c.changeScoreTooltipK1=function(){return"Adăuga un punct la scor."},c.continue=function(){return"Continuă"},c.decrementPlayerScore=function(){return"elimina punct"},c.defaultSayText=function(){return"tastează aici"},c.emotion=function(){return"starea de spirit"},c.finalLevel=function(){return"Felicitări! Ai rezolvat puzzle-ul final."},c.hello=function(){return"bună"},c.helloWorld=function(){return"Salutare lume!"},c.incrementPlayerScore=function(){return"punct de scor"},c.makeProjectileDisappear=function(){return"dispar"},c.makeProjectileBounce=function(){return"saritura"},c.makeProjectileBlueFireball=function(){return"fă o minge de foc albastră"},c.makeProjectilePurpleFireball=function(){return"fă o minge de foc mov"},c.makeProjectileRedFireball=function(){return"fă o minge de foc roşie"},c.makeProjectileYellowHearts=function(){return"fă inimi galbene"},c.makeProjectilePurpleHearts=function(){return"fă inimi mov"},c.makeProjectileRedHearts=function(){return"fă inimi roşii"},c.makeProjectileTooltip=function(){return"Fă proiectilul care tocmai s-a ciocnit să dispară au să sară."},c.makeYourOwn=function(){return"Creează-ți propria poveste"},c.moveDirectionDown=function(){return"jos"},c.moveDirectionLeft=function(){return"stânga"},c.moveDirectionRight=function(){return"dreapta"},c.moveDirectionUp=function(){return"sus"},c.moveDirectionRandom=function(){return"aleatoriu"},c.moveDistance25=function(){return"25 de pixeli"},c.moveDistance50=function(){return"50 de pixeli"},c.moveDistance100=function(){return"100 de pixeli"},c.moveDistance200=function(){return"200 de pixeli"},c.moveDistance400=function(){return"400 de pixeli"},c.moveDistancePixels=function(){return"pixeli"},c.moveDistanceRandom=function(){return"număr aleatoriu de pixeli"},c.moveDistanceTooltip=function(){return"Mută un actor o distanță anume în direcția specificată."},c.moveSprite=function(){return"mută"},c.moveSpriteN=function(a){return"muta actorul "+v(a,"spriteIndex")},c.moveDown=function(){return"mută în jos"},c.moveDownTooltip=function(){return"Mută un actor în jos."},c.moveLeft=function(){return"mută la stânga"},c.moveLeftTooltip=function(){return"Mută un actor la stânga."},c.moveRight=function(){return"mută la dreapta"},c.moveRightTooltip=function(){return"Mută un actor la dreapta."},c.moveUp=function(){return"mută în sus"},c.moveUpTooltip=function(){return"Mută un actor în sus."},c.moveTooltip=function(){return"Mută un actor."},c.nextLevel=function(){return"Felicitări! Ai finalizat acest puzzle."},c.no=function(){return"Nu"},c.numBlocksNeeded=function(){return"Acest puzzle poate fi rezolvat cu %1 blocuri."},c.ouchExclamation=function(){return"Aoleu!"},c.playSoundCrunch=function(){return"redă sunet zdrobit"},c.playSoundGoal1=function(){return"redă sunet obiectiv 1"},c.playSoundGoal2=function(){return"redă sunet obiectiv 2"},c.playSoundHit=function(){return"redă sunet lovit"},c.playSoundLosePoint=function(){return"redă sunet punct pierdut"},c.playSoundLosePoint2=function(){return"redă sunet punct pierdut 2"},c.playSoundRetro=function(){return"redă sunet retro"},c.playSoundRubber=function(){return"redă sunet radieră"},c.playSoundSlap=function(){return"redă sunet pălmuire"},c.playSoundTooltip=function(){return"Redă sunetul ales."},c.playSoundWinPoint=function(){return"redă sunet punct câștigat"},c.playSoundWinPoint2=function(){return"redă sunet punct câștigat 2"},c.playSoundWood=function(){return"redă sunet lemn"},c.positionOutTopLeft=function(){return"în poziţia de sus din stânga"},c.positionOutTopRight=function(){return"în poziţia de sus din dreapta"},c.positionTopOutLeft=function(){return"în poziţia din stânga sus de afară"},c.positionTopLeft=function(){return"stânga sus"},c.positionTopCenter=function(){return"centru sus"},c.positionTopRight=function(){return"dreapta sus"},c.positionTopOutRight=function(){return"în poziţia din dreapta sus de afară"},c.positionMiddleLeft=function(){return"mijloc stânga"},c.positionMiddleCenter=function(){return"mijloc centru"},c.positionMiddleRight=function(){return"mijloc dreapta"},c.positionBottomOutLeft=function(){return"în poziţia din stânga jos de afară"},c.positionBottomLeft=function(){return"stânga jos"},c.positionBottomCenter=function(){return"mijloc jos"},c.positionBottomRight=function(){return"dreapta jos"},c.positionBottomOutRight=function(){return"în poziţia din dreapta jos de afară"},c.positionOutBottomLeft=function(){return"în poziţia din stânga jos dedesubt"},c.positionOutBottomRight=function(){return"în poziţia din dreapta jos dedesubt"},c.positionRandom=function(){return"aleatoriu"},c.projectileBlueFireball=function(){return"minge de foc albastră"},c.projectilePurpleFireball=function(){return"minge de foc mov"},c.projectileRedFireball=function(){return"minge de foc roşie"},c.projectileYellowHearts=function(){return"inimi galbene"},c.projectilePurpleHearts=function(){return"inimi mov"},c.projectileRedHearts=function(){return"inimi roşii"},c.projectileRandom=function(){return"aleator"},c.reinfFeedbackMsg=function(){return'Poţi apăsa butonul "Încearcă din nou" pentru a reveni la povestea ta.'},c.repeatForever=function(){return"repetă pentru totdeauna"},c.repeatDo=function(){return"execută"},c.repeatForeverTooltip=function(){return"Execută acțiunile din acest bloc în mod repetat în timp ce povestea se desfăşoară."},c.saySprite=function(){return"spune"},c.saySpriteN=function(a){return"actorul "+v(a,"spriteIndex")+" zii"},c.saySpriteTooltip=function(){return"Apare un balon cu textul asociat din partea actorului specificat."},c.scoreText=function(a){return"Scor: "+v(a,"playerScore")},c.setBackground=function(){return"seteaza fundalul"},c.setBackgroundRandom=function(){return"setează fundal aleatoriu"},c.setBackgroundBlack=function(){return"setează fundal negru"},c.setBackgroundCave=function(){return"setează fundal peșteră"},c.setBackgroundCloudy=function(){return"setează fundal tulbure"},c.setBackgroundHardcourt=function(){return"setează fundal suprafață dură"},c.setBackgroundNight=function(){return"setrează fundal noapte"},c.setBackgroundUnderwater=function(){return"setează fundal subacvatic"},c.setBackgroundCity=function(){return"setează oraşul ca fundal"},c.setBackgroundDesert=function(){return"setează deşertul ca fundal"},c.setBackgroundRainbow=function(){return"setează curcubeul ca fundal"},c.setBackgroundSoccer=function(){return"setează terenul de fotbal ca fundal"},c.setBackgroundSpace=function(){return"setează spaţiul ca fundal"},c.setBackgroundTennis=function(){return"setează terenul de tenis ca fundal"},c.setBackgroundWinter=function(){return"setează peisaj de iarnă ca fundal"},c.setBackgroundTooltip=function(){return"Setează imaginea de fundal"},c.setScoreText=function(){return"Setează scor"},c.setScoreTextTooltip=function(){return"Setează textul ca să fie afișat în zona scorului."},c.setSpriteEmotionAngry=function(){return"la o stare de spirit furioasă"},c.setSpriteEmotionHappy=function(){return"la o stare de spirit fericită"},c.setSpriteEmotionNormal=function(){return"la o stare normală"},c.setSpriteEmotionRandom=function(){return"la o stare de spirit aleatoare"},c.setSpriteEmotionSad=function(){return"la o stare de spirit tristă"},c.setSpriteEmotionTooltip=function(){return"Setează starea de spirit de actor"},c.setSpriteAlien=function(){return"pentru o imagine extraterextră"},c.setSpriteBat=function(){return"o imagine cu liliac"},c.setSpriteBird=function(){return"o imagine cu pasăre"},c.setSpriteCat=function(){return"o imagine cu pisica"},c.setSpriteCaveBoy=function(){return"într-o poză cu un băiat din peşteră"},c.setSpriteCaveGirl=function(){return"într-o poză cu o fată din peşteră"},c.setSpriteDinosaur=function(){return"o imagine de dinozaur"},c.setSpriteDog=function(){return"o imagine de câine"},c.setSpriteDragon=function(){return"o imagine de dragon"},c.setSpriteGhost=function(){return"o imagine fantomă"},c.setSpriteHidden=function(){return"o imagine ascunsă"},c.setSpriteHideK1=function(){return"ascunde"},c.setSpriteKnight=function(){return"o imagine de cavaler"},c.setSpriteMonster=function(){return"o imagine de monstru"},c.setSpriteNinja=function(){return"într-o poză cu un ninja mascat"},c.setSpriteOctopus=function(){return"într-o poză cu o caracatiţă"},c.setSpritePenguin=function(){return"într-o poză cu un penguin"},c.setSpritePirate=function(){return"într-o poză cu un pirat"},c.setSpritePrincess=function(){return"într-o poză cu o prinţesă"},c.setSpriteRandom=function(){return"imagine aleatorie"},c.setSpriteRobot=function(){return"într-o poză cu un robot"},c.setSpriteShowK1=function(){return"arată"},c.setSpriteSpacebot=function(){return"într-o poză cu un robot spaţial"},c.setSpriteSoccerGirl=function(){return"într-o poză cu o fotbalistă"},c.setSpriteSoccerBoy=function(){return"într-o poză cu un fotbalist"},c.setSpriteSquirrel=function(){return"într-o poză cu o veveriţă"},c.setSpriteTennisGirl=function(){return"într-o poză cu o jucătoare de tenis"},c.setSpriteTennisBoy=function(){return"într-o poză cu un jucător de tenis"},c.setSpriteUnicorn=function(){return"într-o poză cu un inorog"},c.setSpriteWitch=function(){return"imagine de vrăjitoare"},c.setSpriteWizard=function(){return"într-o poză cu un vrăjitor"},c.setSpritePositionTooltip=function(){return"Instantaneu mută un actor la locația specificată."},c.setSpriteK1Tooltip=function(){return"Arată sau ascunde actorul specificat."},c.setSpriteTooltip=function(){return"Setează imaginea actorului"},c.setSpriteSizeRandom=function(){return"într-o mărime aleatoare"},c.setSpriteSizeVerySmall=function(){return"într-o dimensiune foarte mică"},c.setSpriteSizeSmall=function(){return"într-o dimensiune mică"},c.setSpriteSizeNormal=function(){return"într-o dimensiune normală"},c.setSpriteSizeLarge=function(){return"într-o dimensiune mare"},c.setSpriteSizeVeryLarge=function(){return"într-o dimensiune foarte mare"},c.setSpriteSizeTooltip=function(){return"Setează mărimea unui actor"},c.setSpriteSpeedRandom=function(){return"viteză aleatorie"},c.setSpriteSpeedVerySlow=function(){return"viteză foarte lentă"},c.setSpriteSpeedSlow=function(){return"viteză lentă"},c.setSpriteSpeedNormal=function(){return"viteză normală"},c.setSpriteSpeedFast=function(){return"viteză rapidă"},c.setSpriteSpeedVeryFast=function(){return"viteză foarte rapidă"},c.setSpriteSpeedTooltip=function(){return"Setează viteza unui actor"},c.setSpriteZombie=function(){return"într-o poză cu un zombi"},c.shareStudioTwitter=function(){return"Uite ce poveste am inventat. Am scris-o cu @codeorg"},c.shareGame=function(){return"Împărtăşeşte povestea ta:"},c.showTitleScreen=function(){return"arată ecranul titlu"},c.showTitleScreenTitle=function(){return"titlu"},c.showTitleScreenText=function(){return"scris"},c.showTSDefTitle=function(){return"scrie titlul aici"},c.showTSDefText=function(){return"scrie aici"},c.showTitleScreenTooltip=function(){return"Arată un ecran titlu cu titlul şi textul asociate."},c.setSprite=function(){return"setează"},c.setSpriteN=function(a){return"setează actorul "+v(a,"spriteIndex")},c.soundCrunch=function(){return"criză"},c.soundGoal1=function(){return"obiectivul 1"},c.soundGoal2=function(){return"obiectivul 2"},c.soundHit=function(){return"lovitură"},c.soundLosePoint=function(){return"pierde punctul"},c.soundLosePoint2=function(){return"pierde punctul 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"cauciuc"},c.soundSlap=function(){return"pălmuieşte"},c.soundWinPoint=function(){return"câştigă punctul"},c.soundWinPoint2=function(){return"câştigă punctul 2"},c.soundWood=function(){return"lemn"},c.speed=function(){return"viteză"},c.stopSprite=function(){return"opreşte"},c.stopSpriteN=function(a){return"opreşte actorul "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Opreşte mişcarea unui actor."},c.throwSprite=function(){return"aruncă"},c.throwSpriteN=function(a){return"aruncarea actorului "+v(a,"spriteIndex")},c.throwTooltip=function(){return"Aruncă un proiectil de la actorul specificat."},c.vanish=function(){return"şterge"},c.vanishActorN=function(a){return"şterge actorul "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Şterge actorul."},c.waitFor=function(){return"aşteaptă să"},c.waitSeconds=function(){return"secunde"},c.waitForClick=function(){return"aşteaptă clic"},c.waitForRandom=function(){return"aşteaptă aleatoriu"},c.waitForHalfSecond=function(){return"aşteaptă o jumătate de secundă"},c.waitFor1Second=function(){return"aşteaptă 1 secundă"},c.waitFor2Seconds=function(){return"aşteaptă 2 secunde"},c.waitFor5Seconds=function(){return"aşteaptă 5 secunde"},c.waitFor10Seconds=function(){return"aşteaptă 10 secunde"},c.waitParamsTooltip=function(){return"Aşteaptă un număr anumit de secunde sau foloseşte zero pentru a aştepta până la un clic."},c.waitTooltip=function(){return"Aşteaptă o anumită perioadă de timp sau până când se produce un clic."},c.whenArrowDown=function(){return"săgeată în jos"},c.whenArrowLeft=function(){return"săgeată la stânga"},c.whenArrowRight=function(){return"săgeată dreapta"},c.whenArrowUp=function(){return"săgeată în sus"},c.whenArrowTooltip=function(){return"Executa acţiuniile de mai jos atunci când tasta săgeată specificat este apăsată."},c.whenDown=function(){return"când tasta săgeată în jos"},c.whenDownTooltip=function(){return"Execută acțiunile de mai jos atunci când tasta săgeată în jos este apăsată."},c.whenGameStarts=function(){return"când începe povestea"},c.whenGameStartsTooltip=function(){return"Execută acţiunile de mai jos atunci când povestea începe."},c.whenLeft=function(){return"când tasta săgeată la stânga"},c.whenLeftTooltip=function(){return"Execută acțiunile de mai jos atunci când tasta săgeată la stânga este apăsată."},c.whenRight=function(){return"când tasta săgeată la dreapta"},c.whenRightTooltip=function(){return"Execută acțiunile de mai jos atunci când tasta săgeată la dreapta este apăsată."},c.whenSpriteClicked=function(){return"când actorul este atins"},c.whenSpriteClickedN=function(a){return"Când faceţi clic pe actorul "+v(a,"spriteIndex")},c.whenSpriteClickedTooltip=function(){return"Execută acţiunile de mai jos atunci când un actor este apăsat."},c.whenSpriteCollidedN=function(a){return"cand actorul "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execută acţiunile de mai jos atunci când un actor atinge un alt actor."},c.whenSpriteCollidedWith=function(){return"atinge"},c.whenSpriteCollidedWithN=function(a){return"atinge actorul "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"atinge mingea de foc albastră"},c.whenSpriteCollidedWithPurpleFireball=function(){return"atinge mingea de foc mov"},c.whenSpriteCollidedWithRedFireball=function(){return"atinge mingea de foc roşie"},c.whenSpriteCollidedWithYellowHearts=function(){return"atinge inimile galbene"},c.whenSpriteCollidedWithPurpleHearts=function(){return"atinge inimile mov"},c.whenSpriteCollidedWithRedHearts=function(){return"atinge inimile roşii"},c.whenSpriteCollidedWithBottomEdge=function(){return"atinge marginea de jos"},c.whenSpriteCollidedWithLeftEdge=function(){return"atinge marginea stânga"},c.whenSpriteCollidedWithRightEdge=function(){return"atinge marginea dreapta"},c.whenSpriteCollidedWithTopEdge=function(){return"atinge marginea de sus"},c.whenUp=function(){return"atunci când săgeată în sus"},c.whenUpTooltip=function(){return"Execută acțiunile de mai jos atunci când tasta săgeată în sus este apăsată."},c.yes=function(){return"Da"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring"); d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ru_ru/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ru_ru/common":40,"../../locale/ru_ru/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ru_ru/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ru_ru/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ru_ru/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ru_ru/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ru_ru/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ru_ru/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ru_ru/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ru_ru/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ru_ru/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ru_ru/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ru_ru/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ru_ru/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ru=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.and=function(){return"и"},c.blocklyMessage=function(){return"Блокли"},c.catActions=function(){return"Действия"},c.catColour=function(){return"Цвет"},c.catLogic=function(){return"Логика"},c.catLists=function(){return"Списки"},c.catLoops=function(){return"Циклы"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Процедуры"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Переменные"},c.codeTooltip=function(){return"Просмотреть созданный код JavaScript."},c.continue=function(){return"Продолжить"},c.dialogCancel=function(){return"Отменить"},c.dialogOK=function(){return"Продолжить"},c.directionNorthLetter=function(){return"С"},c.directionSouthLetter=function(){return"Ю"},c.directionEastLetter=function(){return"В"},c.directionWestLetter=function(){return"З"},c.end=function(){return"конец"},c.emptyBlocksErrorMsg=function(){return'Блокам "повторять" или "если" необходимо иметь внутри другие блоки для работы. Убедись в том, что внутренний блок должным образом подходит к блоку, в котором он содержится.'},c.emptyFunctionBlocksErrorMsg=function(){return"Блок функции требует другие блоки внутри для работы."},c.extraTopBlocks=function(){return"У тебя есть оставшиеся блоки, которые не присоединены к основному блоку."},c.finalStage=function(){return"Поздравляю! Ты завершил последний этап."},c.finalStageTrophies=function(a){return"Поздравляю! Ты завершил последний этап и выиграл "+p(a,"numTrophies",0,"ru",{one:"кубок",other:n(a,"numTrophies")+" кубков"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Даже в лучших университетах изучают блочное программирование (например, "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Но на самом деле блоки, которые вы собирали могут быть отображены на JavaScript, наиболее широко используемом в мире языке программирования:"},c.hashError=function(){return"К сожалению, «%1» не соответствует какой-либо сохранённой программе."},c.help=function(){return"Справка"},c.hintTitle=function(){return"Подсказка:"},c.jump=function(){return"прыжок"},c.levelIncompleteError=function(){return"Ты используешь все необходимые виды блоков, но неправильным способом."},c.listVariable=function(){return"список"},c.makeYourOwnFlappy=function(){return"Создай свою Flappy Bird"},c.missingBlocksErrorMsg=function(){return"Для решения этой головоломки попробуй один или несколько из следующих блоков:"},c.nextLevel=function(a){return"Поздравляю! Головоломка "+v(a,"puzzleNumber")+" решена."},c.nextLevelTrophies=function(a){return"Поздравляю! Ты завершил головоломку "+v(a,"puzzleNumber")+" и выиграл "+p(a,"numTrophies",0,"ru",{one:"кубок",other:n(a,"numTrophies")+" кубков"})+"." },c.nextStage=function(a){return"Поздравляем! Ты закончил "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Поздравляю! Ты завершил этап "+v(a,"stageName")+" и выиграл "+p(a,"numTrophies",0,"ru",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Поздравляю! Ты завершил головоломку "+v(a,"puzzleNumber")+". (Однако, можно было обойтись всего "+p(a,"numBlocks",0,"ru",{one:"1 блоком",other:n(a,"numBlocks")+" блоками"})+".)"},c.numLinesOfCodeWritten=function(a){return"Ты только что написал "+p(a,"numLines",0,"ru",{one:"1 строку",other:n(a,"numLines")+" строки"})+" кода!"},c.play=function(){return"играть"},c.puzzleTitle=function(a){return"Головоломка "+v(a,"puzzle_number")+" из "+v(a,"stage_total")},c.repeat=function(){return"повторить"},c.resetProgram=function(){return"Сбросить"},c.runProgram=function(){return"Запустить"},c.runTooltip=function(){return"Запускает программу, заданную блоками в рабочей области."},c.score=function(){return"оценка"},c.showCodeHeader=function(){return"Показать код"},c.showGeneratedCode=function(){return"Показать код"},c.subtitle=function(){return"среда визуального программирования"},c.textVariable=function(){return"текст"},c.tooFewBlocksMsg=function(){return"Ты используешь все необходимые виды блоков, но попробуй использовать большее число блоков, чтобы завершить головоломку."},c.tooManyBlocksMsg=function(){return"Эта головоломка может быть решена блоками ."},c.tooMuchWork=function(){return"Ты заставил меня попотеть! Может, будешь стараться делать меньше попыток?"},c.toolboxHeader=function(){return"Блоки"},c.openWorkspace=function(){return"Как это работает"},c.totalNumLinesOfCodeWritten=function(a){return"Общее количество: "+p(a,"numLines",0,"ru",{one:"1 строка",other:n(a,"numLines")+" строки"})+" кода."},c.tryAgain=function(){return"Попытаться ещё раз"},c.hintRequest=function(){return"Показать подсказку"},c.backToPreviousLevel=function(){return"Вернуться на предыдущий уровень"},c.saveToGallery=function(){return"Сохранить в твоей галереи"},c.savedToGallery=function(){return"Сохранено в твоей галереи!"},c.typeCode=function(){return"Введите ваш код на JavaScript под этой инструкцией."},c.typeFuncs=function(){return"Доступные процедуры:%1"},c.typeHint=function(){return"Обратите внимание на то, что требуются круглые скобки и точки с запятой."},c.workspaceHeader=function(){return"Место сбора блоков: "},c.infinity=function(){return"Бесконечность"},c.rotateText=function(){return"Поверните ваше устройство."},c.orientationLock=function(){return"Выключите блокировку ориентации в настройках устройства."},c.wantToLearn=function(){return"Хотите научиться писать код?"},c.watchVideo=function(){return"Посмотреть видео"},c.when=function(){return"когда"},c.whenRun=function(){return"При запуске"},c.tryHOC=function(){return"Попробуйте Час кода"},c.signup=function(){return"Зарегистрируйтесь на вводный курс"},c.hintHeader=function(){return"Подсказка:"},c.genericFeedback=function(){return"Посмотреть как закончить и попытаться исправить свою программу."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ru=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.actor=function(){return"актер"},c.catActions=function(){return"Действия"},c.catControl=function(){return"Циклы"},c.catEvents=function(){return"События"},c.catLogic=function(){return"Логика"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Функции"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Переменные"},c.changeScoreTooltip=function(){return"Добавить или отнять очко."},c.changeScoreTooltipK1=function(){return"Добавить очко."},c.continue=function(){return"Продолжить"},c.decrementPlayerScore=function(){return"удалить точку"},c.defaultSayText=function(){return"Введите здесь"},c.emotion=function(){return"настроение"},c.finalLevel=function(){return"Поздравляю! Последняя головоломка решена."},c.hello=function(){return"привет"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"оценка точки"},c.makeProjectileDisappear=function(){return"исчезнуть"},c.makeProjectileBounce=function(){return"отскочить"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Заставить столкнувшийся снаряд исчезнуть или отскочить."},c.makeYourOwn=function(){return"Создай свой собственный рассказ"},c.moveDirectionDown=function(){return"вниз"},c.moveDirectionLeft=function(){return"слева"},c.moveDirectionRight=function(){return"справа"},c.moveDirectionUp=function(){return"наверх"},c.moveDirectionRandom=function(){return"случайный"},c.moveDistance25=function(){return"25 пикселей"},c.moveDistance50=function(){return"50 пикселей"},c.moveDistance100=function(){return"100 пикселей"},c.moveDistance200=function(){return"200 пикселей"},c.moveDistance400=function(){return"400 пикселей"},c.moveDistancePixels=function(){return"пикселей"},c.moveDistanceRandom=function(){return"случайные пиксели"},c.moveDistanceTooltip=function(){return"Перемещение персонажа на определенное расстояние в определенном направлении."},c.moveSprite=function(){return"Перемещение"},c.moveSpriteN=function(a){return"Перемещение актера "+v(a,"spriteIndex")},c.moveDown=function(){return"Переместить вниз"},c.moveDownTooltip=function(){return"Перемещение актера вниз."},c.moveLeft=function(){return"переместить влево"},c.moveLeftTooltip=function(){return"Перемещение актера влево."},c.moveRight=function(){return"Переместить вправо"},c.moveRightTooltip=function(){return"Перемещение актера вправо."},c.moveUp=function(){return"переместить вверх"},c.moveUpTooltip=function(){return"Перемещение актера вверх."},c.moveTooltip=function(){return"Перемещение актера."},c.nextLevel=function(){return"Поздравляю! Головоломка решена."},c.no=function(){return"Нет"},c.numBlocksNeeded=function(){return"Головоломка может быть решена %1 блоком."},c.ouchExclamation=function(){return"Ой!"},c.playSoundCrunch=function(){return"проиграть звук хруста"},c.playSoundGoal1=function(){return"проиграть звук цели 1"},c.playSoundGoal2=function(){return"проиграть звук цели 2"},c.playSoundHit=function(){return"проиграть звук удара"},c.playSoundLosePoint=function(){return"проиграть звук потери очка"},c.playSoundLosePoint2=function(){return"проиграть звук потери очка 2"},c.playSoundRetro=function(){return"проиграть звук ретро"},c.playSoundRubber=function(){return"проиграть звук резины"},c.playSoundSlap=function(){return"проиграть звук шлепка"},c.playSoundTooltip=function(){return"Воспроизвести выбранный звук."},c.playSoundWinPoint=function(){return"проиграть звук получения очка"},c.playSoundWinPoint2=function(){return"проиграть звук получения очка 2"},c.playSoundWood=function(){return"проиграть звук дерева"},c.positionOutTopLeft=function(){return"на позицию сверху слева"},c.positionOutTopRight=function(){return"на позицию сверху справа"},c.positionTopOutLeft=function(){return"на позицию снаружи сверху слева"},c.positionTopLeft=function(){return"в верхней левой позиции"},c.positionTopCenter=function(){return"в центральной верхней позиции"},c.positionTopRight=function(){return"в правой верхней позиции"},c.positionTopOutRight=function(){return"на позицию снаружи сверху справа"},c.positionMiddleLeft=function(){return"в средней левой позиции"},c.positionMiddleCenter=function(){return"на позицию в центре"},c.positionMiddleRight=function(){return"на позицию посередине справа"},c.positionBottomOutLeft=function(){return"на позицию снизу снаружи слева"},c.positionBottomLeft=function(){return"в нижнюю левую позицию"},c.positionBottomCenter=function(){return"на позицию снизу по центру"},c.positionBottomRight=function(){return"на позицию снизу справа"},c.positionBottomOutRight=function(){return"на позицию снизу снаружи справа"},c.positionOutBottomLeft=function(){return"на позицию снизу слева"},c.positionOutBottomRight=function(){return"на позицию снизу справа"},c.positionRandom=function(){return"в случайную позицию"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"случайный"},c.reinfFeedbackMsg=function(){return"Вы можете нажать кнопку «Повторить», чтобы вернуться в игру."},c.repeatForever=function(){return"повторять снова и снова"},c.repeatDo=function(){return"выполнить"},c.repeatForeverTooltip=function(){return"Выполнять действия в этом блоке неоднократно пока происходит действие."},c.saySprite=function(){return"произнести"},c.saySpriteN=function(a){return"актер "+v(a,"spriteIndex")+" говорит"},c.saySpriteTooltip=function(){return"Показать речевой пузырь с указанным текстом у указанного персонажа."},c.scoreText=function(a){return"Оценка: "+v(a,"playerScore")},c.setBackground=function(){return"задать фон"},c.setBackgroundRandom=function(){return"установите случайный фон"},c.setBackgroundBlack=function(){return"установите чёрный фон"},c.setBackgroundCave=function(){return"задать фон пещеры"},c.setBackgroundCloudy=function(){return"установите фон из облаков"},c.setBackgroundHardcourt=function(){return"установите фон с твёрдым покрытием"},c.setBackgroundNight=function(){return"установите ночной фон"},c.setBackgroundUnderwater=function(){return"установите подводный фон"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Установить на задний план изображение"},c.setScoreText=function(){return"задать счет"},c.setScoreTextTooltip=function(){return"задать текст, отображаемый в области оценки."},c.setSpriteEmotionAngry=function(){return"сердитое настроение"},c.setSpriteEmotionHappy=function(){return"хорошее настроение"},c.setSpriteEmotionNormal=function(){return"нормальное настроение"},c.setSpriteEmotionRandom=function(){return"случайное настроение"},c.setSpriteEmotionSad=function(){return"печальное настроение"},c.setSpriteEmotionTooltip=function(){return"задать настроение актера"},c.setSpriteAlien=function(){return"изображение чужого"},c.setSpriteBat=function(){return"изображение летучей мыши"},c.setSpriteBird=function(){return"изображение птицы"},c.setSpriteCat=function(){return"изображение кота"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"изображение динозавра"},c.setSpriteDog=function(){return"изображение собаки"},c.setSpriteDragon=function(){return"образ дракона"},c.setSpriteGhost=function(){return"образ призрака"},c.setSpriteHidden=function(){return"к скрытой картинке"},c.setSpriteHideK1=function(){return"скрыть"},c.setSpriteKnight=function(){return"образ рыцаря"},c.setSpriteMonster=function(){return"образ монстра"},c.setSpriteNinja=function(){return"образ замаскированного ниндзя"},c.setSpriteOctopus=function(){return"образ осьминога"},c.setSpritePenguin=function(){return"образ пингвина"},c.setSpritePirate=function(){return"образ пирата"},c.setSpritePrincess=function(){return"образ принцессы"},c.setSpriteRandom=function(){return"для случайной картинки"},c.setSpriteRobot=function(){return"образ робота"},c.setSpriteShowK1=function(){return"Показать"},c.setSpriteSpacebot=function(){return"образ робота"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"образ белки"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"образу единорога"},c.setSpriteWitch=function(){return"для картинки с ведьмой"},c.setSpriteWizard=function(){return"образ мастера"},c.setSpritePositionTooltip=function(){return"Мгновенно перемещает актёра в указанное место."},c.setSpriteK1Tooltip=function(){return"Показать или скрыть указанного актера"},c.setSpriteTooltip=function(){return"Установите картинку с актёром"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"для случайной скорости"},c.setSpriteSpeedVerySlow=function(){return"для очень медленной скорости"},c.setSpriteSpeedSlow=function(){return"для медленной скорости"},c.setSpriteSpeedNormal=function(){return"для нормальной скорости"},c.setSpriteSpeedFast=function(){return"для быстрой скорости"},c.setSpriteSpeedVeryFast=function(){return"для очень быстрой скорости"},c.setSpriteSpeedTooltip=function(){return"Установите скорость актёра"},c.setSpriteZombie=function(){return"образ зомби"},c.shareStudioTwitter=function(){return"Проверьте историю, которую я написал. Я написал её сам с @codeorg"},c.shareGame=function(){return"Поделиться своей историей:"},c.showTitleScreen=function(){return"показать титульный экран"},c.showTitleScreenTitle=function(){return"название"},c.showTitleScreenText=function(){return"текст"},c.showTSDefTitle=function(){return"введите название здесь"},c.showTSDefText=function(){return"введите текст здесь"},c.showTitleScreenTooltip=function(){return"Показать титульный экран с указанным названием и текстом."},c.setSprite=function(){return"установить"},c.setSpriteN=function(a){return"указать персонажа "+v(a,"spriteIndex")},c.soundCrunch=function(){return"хруст"},c.soundGoal1=function(){return"цель 1"},c.soundGoal2=function(){return"цель 2"},c.soundHit=function(){return"удар"},c.soundLosePoint=function(){return"потеря очка"},c.soundLosePoint2=function(){return"потеря очка 2"},c.soundRetro=function(){return"ретро"},c.soundRubber=function(){return"резина"},c.soundSlap=function(){return"шлепок"},c.soundWinPoint=function(){return"получение очка"},c.soundWinPoint2=function(){return"получение очка 2"},c.soundWood=function(){return"дерево"},c.speed=function(){return"скорость"},c.stopSprite=function(){return"остановка"},c.stopSpriteN=function(a){return"остановить персонажа "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Останавливает движение актера."},c.throwSprite=function(){return"кинуть"},c.throwSpriteN=function(a){return"персонаж "+v(a,"spriteIndex")+" кидает"},c.throwTooltip=function(){return"Кидает снаряд от указанного персонажа."},c.vanish=function(){return"исчезнуть"},c.vanishActorN=function(a){return"исчезнуть персонажу "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Заставляет персонажа исчезнуть."},c.waitFor=function(){return"ждать"},c.waitSeconds=function(){return"секунд"},c.waitForClick=function(){return"ожидать нажатия на мышку"},c.waitForRandom=function(){return"ждать случайное время"},c.waitForHalfSecond=function(){return"подождите полсекунды"},c.waitFor1Second=function(){return"подождите 1 секунду"},c.waitFor2Seconds=function(){return"подождите 2 секунды"},c.waitFor5Seconds=function(){return"подождите 5 секунд"},c.waitFor10Seconds=function(){return"подождите 10 секунд"},c.waitParamsTooltip=function(){return"Ждать указанное количество секунд или, если указан 0, до щелчка."},c.waitTooltip=function(){return"Подождите указанное количество времени или пока не произойдёт щелчок."},c.whenArrowDown=function(){return"клавиша вниз"},c.whenArrowLeft=function(){return"клавиша влево"},c.whenArrowRight=function(){return"клавиша вправо"},c.whenArrowUp=function(){return"клавиша вверх"},c.whenArrowTooltip=function(){return"Выполнить действия, указанные ниже, когда нажата указанная клавиша."},c.whenDown=function(){return"когда стрелка вниз"},c.whenDownTooltip=function(){return"Выполните действия ниже, когда когда будет нажата клавиша стрелка вниз."},c.whenGameStarts=function(){return"когда начнётся история"},c.whenGameStartsTooltip=function(){return"Выполните действия ниже, когда начнётся история."},c.whenLeft=function(){return"когда стрелка влево"},c.whenLeftTooltip=function(){return"Выполните действия ниже, когда нажата клавиша стрелка влево."},c.whenRight=function(){return"когда стрелка справа"},c.whenRightTooltip=function(){return"Выполните действия ниже, когда нажата клавиша стрелка вправо."},c.whenSpriteClicked=function(){return"когда актёр нажмёт на кнопку"},c.whenSpriteClickedN=function(a){return"когда на персонажа "+v(a,"spriteIndex")+" нажали"},c.whenSpriteClickedTooltip=function(){return"Выполните действия ниже, когда актёр нажмёт на кнопку."},c.whenSpriteCollidedN=function(a){return"когда персонаж "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Выполнить действия, указанные ниже, когда персонаж сталкивается с другим персонажем."},c.whenSpriteCollidedWith=function(){return"касается"},c.whenSpriteCollidedWithN=function(a){return"касается персонажа "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"касается нижней границы"},c.whenSpriteCollidedWithLeftEdge=function(){return"касается левой границы"},c.whenSpriteCollidedWithRightEdge=function(){return"касается правой границы"},c.whenSpriteCollidedWithTopEdge=function(){return"касается верхней границы"},c.whenUp=function(){return"когда стрелка вверх"},c.whenUpTooltip=function(){return"Выпонить действия, указанные ниже, когда нажата клавиша вверх."},c.yes=function(){return"Да"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring"); d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/sk_sk/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/sk_sk/common":40,"../../locale/sk_sk/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sk_sk/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sk_sk/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/sk_sk/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/sk_sk/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/sk_sk/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sk_sk/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sk_sk/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sk_sk/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/sk_sk/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sk_sk/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sk_sk/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sk_sk/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.sk=function(a){return 1==a?"one":2==a||3==a||4==a?"few":"other"},c.and=function(){return"a"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Akcie"},c.catColour=function(){return"Farba"},c.catLogic=function(){return"Logické"},c.catLists=function(){return"Zoznamy"},c.catLoops=function(){return"Slučky"},c.catMath=function(){return"Matematické"},c.catProcedures=function(){return"Funkcie"},c.catText=function(){return"Text"},c.catVariables=function(){return"Premenné"},c.codeTooltip=function(){return"Pozrieť generovaný kód JavaScript."},c.continue=function(){return"Pokračovať"},c.dialogCancel=function(){return"Zrušiť"},c.dialogOK=function(){return"ok"},c.directionNorthLetter=function(){return"S"},c.directionSouthLetter=function(){return"J"},c.directionEastLetter=function(){return"V"},c.directionWestLetter=function(){return"Z"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'"Repeat", alebo "If" bloky musia obsahovať ďalšie bloky vo vnútri aby pracovali. Uistite sa, že vnútorný blok sedí správne vo vnútri týchto blokov.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Máte ďalšie extra bloky, ktoré nie sú pripojené k blokom udalostí."},c.finalStage=function(){return"Gratulujem! Dokončili ste poslednú úroveň."},c.finalStageTrophies=function(a){return"Gratulujem! Dokončili ste poslednú úroveň a vyhrali "+p(a,"numTrophies",0,"sk",{one:"trofej",other:n(a,"numTrophies")+" trofejí"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"Bloky pre Váš program môžu byť tiež vyjadrené v JavaScript-e, svetovo najviac rozšírenom programovacom jazyku:"},c.hashError=function(){return"Prepáčte, '%1' nezodpovedá žiadnemu uloženému programu."},c.help=function(){return"pomoc"},c.hintTitle=function(){return"Tip:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"Používate všetky potrebné typy blokov, ale nie tým správnym spôsobom."},c.listVariable=function(){return"zoznam"},c.makeYourOwnFlappy=function(){return'Vytvor si svoju vlastnú "Flappy" hru'},c.missingBlocksErrorMsg=function(){return"Skúste použiť jeden alebo viac blokov nižšie pre vyriešenie tejto úlohy."},c.nextLevel=function(a){return"Gratulujem! Dokončili ste úlohu "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Gratulujem! Dokončili ste úlohu "+v(a,"puzzleNumber")+" a vyhrali "+p(a,"numTrophies",0,"sk",{one:"trofej",other:n(a,"numTrophies")+" trofejí"})+"."},c.nextStage=function(a){return"Gratulujem! Dokončili ste úroveň "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Gratulujem! Dokončili ste úroveň "+v(a,"stageNumber")+" a vyhrali "+p(a,"numTrophies",0,"sk",{one:"trofej",other:n(a,"numTrophies")+" trofejí"})+"." },c.numBlocksNeeded=function(a){return"Gratulujem! Dokončili ste úlohu "+v(a,"puzzleNumber")+". (Avšak, mohli ste použiť iba "+p(a,"numBlocks",0,"sk",{one:"1 blok",other:n(a,"numBlocks")+" blokov"})+".)"},c.numLinesOfCodeWritten=function(a){return"Práve ste napísali "+p(a,"numLines",0,"sk",{one:"1 riadok",other:n(a,"numLines")+" riadkov"})+" kódu!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Úloha "+v(a,"puzzle_number")+" z "+v(a,"stage_total")},c.repeat=function(){return"opakovať"},c.resetProgram=function(){return"Obnoviť"},c.runProgram=function(){return"Spustiť program"},c.runTooltip=function(){return"Spustiť program definovaný blokmi v pracovnom priestore."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Zobraziť kód"},c.showGeneratedCode=function(){return"Zobraziť kód"},c.subtitle=function(){return"vizuálne programovacie prostredie"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"Používate všetky potrebné typy blokov, ale pokúste sa použiť viac týchto typov na dokončenie tejto úlohy."},c.tooManyBlocksMsg=function(){return"Táto úloha môže byť vyriešená s blokmi."},c.tooMuchWork=function(){return"Spravil si mi veľa práce! Mohol by si skúsiť opakovať menej krát?"},c.toolboxHeader=function(){return"Bloky"},c.openWorkspace=function(){return"Ako to funguje"},c.totalNumLinesOfCodeWritten=function(a){return"Celkovo: "+p(a,"numLines",0,"sk",{one:"1 riadok",other:n(a,"numLines")+" riadkov"})+" kódu."},c.tryAgain=function(){return"skús znova"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Späť na predchádzajúcu úlohu"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Napíšte Váš JavaScript kód pod tieto pokyny."},c.typeFuncs=function(){return"Dostupné funkcie:%1"},c.typeHint=function(){return"Všimnite si, že sú potrebné zátvorky a bodkočiarky."},c.workspaceHeader=function(){return"Zostavte Vaše bloky sem: "},c.infinity=function(){return"Nekonečno"},c.rotateText=function(){return"Otočte Váš prístroj."},c.orientationLock=function(){return"Vypnite zámok orientácie v nastaveniach vášho prístroja."},c.wantToLearn=function(){return"Chcete sa naučiť programovať?"},c.watchVideo=function(){return"Pozrieť video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Vyskúšajte hodinu kódovania"},c.signup=function(){return"Prihlásiť sa na úvodný kurz"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.sk=function(a){return 1==a?"one":2==a||3==a||4==a?"few":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Akcie"},c.catControl=function(){return"Slučky"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logické"},c.catMath=function(){return"Matematické"},c.catProcedures=function(){return"Funkcie"},c.catText=function(){return"Text"},c.catVariables=function(){return"Premenné"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Pokračovať"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Gratulujem! Vyriešili ste posledné puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"náhodne"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixelov"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"posunúť nadol"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"posunúť doľava"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"posunúť doprava"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"posunúť nahor"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Gratulujem! Vyriešili ste puzzle."},c.no=function(){return"Nie"},c.numBlocksNeeded=function(){return"Toto puzzle môže byť vyriešená s %1 blokmi."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"náhodne"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"vykonaj"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"nastaviť skóre"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"nastaviť"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"keď začne hra"},c.whenGameStartsTooltip=function(){return"Vykonať akcie, keď začne hra."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Áno"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||""; var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/sl_si/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/sl_si/common":40,"../../locale/sl_si/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sl_si/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sl_si/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/sl_si/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/sl_si/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/sl_si/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sl_si/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sl_si/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sl_si/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/sl_si/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sl_si/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sl_si/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sl_si/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.sl=function(a){return a%100==1?"one":a%100==2?"two":a%100==3||a%100==4?"few":"other"},c.and=function(){return"in"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Dejanja"},c.catColour=function(){return"Barva"},c.catLogic=function(){return"Logika"},c.catLists=function(){return"Seznami"},c.catLoops=function(){return"Zanke"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funkcije"},c.catText=function(){return"Besedilo"},c.catVariables=function(){return"Spremenljivke"},c.codeTooltip=function(){return"Poglej generirane kode JavaScript."},c.continue=function(){return"Nadaljuj"},c.dialogCancel=function(){return"Prekliči"},c.dialogOK=function(){return"Vredu"},c.directionNorthLetter=function(){return"S"},c.directionSouthLetter=function(){return"J"},c.directionEastLetter=function(){return"V"},c.directionWestLetter=function(){return"Z"},c.end=function(){return"konec"},c.emptyBlocksErrorMsg=function(){return"Znotraj 'Ponovi' ali 'če' bloka morajo biti drugi bloki, da bo delovalo. Prepričaj se, da se notranji bloki ustrezno prilegajo zunanjemu bloku."},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"Imate dodatne bloke, ki niso povezani z blokom dogodka."},c.finalStage=function(){return"Čestitke! Zaključil si zadnjo stopnjo."},c.finalStageTrophies=function(a){return"Čestitke! Zaključil/a si stopnjo "+v(a,"stageNumber")+" in osvojil/a "+p(a,"numTrophies",0,"sl",{one:"trofejo",other:n(a,"numTrophies")+" trofej"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Celo najboljše univerze učijo kodiranje z bloki (npr. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Ampak bloke, ki si jih sestavil, lahko prikažemo v JavaScriptu, najbolj rabljenem programskem jeziku:"},c.hashError=function(){return"Oprosti, '%1' ne ustreza nobenemu shranjenemu programu."},c.help=function(){return"Pomoč"},c.hintTitle=function(){return"Namig:"},c.jump=function(){return"skoči"},c.levelIncompleteError=function(){return"Uporabljaš vse potrebne tipe blokov, a ne na pravi način."},c.listVariable=function(){return"seznam"},c.makeYourOwnFlappy=function(){return"Izdelaj svojo lastno Flappy igro"},c.missingBlocksErrorMsg=function(){return"Poskusi enega ali več blokov spodaj, da rešiš uganko."},c.nextLevel=function(a){return"Čestitke! Rešil si uganko "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Čestitke! Zaključil/a si stopnjo "+v(a,"stageNumber")+" in osvojil/a "+p(a,"numTrophies",0,"sl",{one:"trofejo",other:n(a,"numTrophies")+" trofej"})+"."},c.nextStage=function(a){return"Čestitke! Opravili ste "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Čestitke! Zaključil/a si stopnjo "+v(a,"stageNumber")+" in osvojil/a "+p(a,"numTrophies",0,"sl",{one:"trofejo",other:n(a,"numTrophies")+" trofej"})+"." },c.numBlocksNeeded=function(a){return"Čestitke! Zaključil/a si uganko "+v(a,"puzzleNumber")+". (Vendar bi lahko uporabil samo "+p(a,"numBlocks",0,"sl",{one:"1 blok",other:n(a,"numBlocks")+" blokov"})+".)"},c.numLinesOfCodeWritten=function(a){return"Ravnokar si napisal "+p(a,"numLines",0,"sl",{one:"1 vrstica",other:n(a,"numLines")+" vrstic"})+" kode!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Uganka "+v(a,"puzzle_number")+" od "+v(a,"stage_total")},c.repeat=function(){return"ponovi"},c.resetProgram=function(){return"resetiraj"},c.runProgram=function(){return"Teči"},c.runTooltip=function(){return"Zaženi program, definiran z bloki na delovni površini."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Pokaži kodo"},c.showGeneratedCode=function(){return"Pokaži kodo"},c.subtitle=function(){return"vizualno programersko okolje"},c.textVariable=function(){return"besedilo"},c.tooFewBlocksMsg=function(){return"Uporabljaš vse potrebne tipe blokov, a poskusi uporabiti več teh tipov blokov, da zaključiš to uganko."},c.tooManyBlocksMsg=function(){return"Ta uganka je lahko rešena z bloki."},c.tooMuchWork=function(){return"Zaradi tebe sem moral narediti veliko dela! Bi se lahko poskusil manjkrat ponavljati?"},c.toolboxHeader=function(){return"Bloki"},c.openWorkspace=function(){return"Kako deluje"},c.totalNumLinesOfCodeWritten=function(a){return"Seštevek vseh skupaj: "+p(a,"numLines",0,"sl",{one:"1 vrstica",other:n(a,"numLines")+" vrstic"})+" kode."},c.tryAgain=function(){return"Poskusi ponovno"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Nazaj na prejšnjo raven"},c.saveToGallery=function(){return"Shrani v svojo galerijo"},c.savedToGallery=function(){return"Shranjeno v tvoji galeriji!"},c.typeCode=function(){return"Vtipkaj tvojo JavaScript kodo pod temi navodili."},c.typeFuncs=function(){return"Razpoložljive funkcije: %1"},c.typeHint=function(){return"Zapomni si, oklepaji in podpičja so zahtevana."},c.workspaceHeader=function(){return"Tukaj sestavi tvoje bloke: "},c.infinity=function(){return"Neskončnost"},c.rotateText=function(){return"Zavrti tvojo napravo."},c.orientationLock=function(){return"Izključi zaklepanje orientacije v nastavitvah naprave."},c.wantToLearn=function(){return"Se želiš naučiti programirati?"},c.watchVideo=function(){return"Glej video"},c.when=function(){return"ko"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Poizkusi Uro za programiranje (Hour to Code)"},c.signup=function(){return"Vpiši se za uvodni tečaj"},c.hintHeader=function(){return"Tukaj je namig:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.sl=function(a){return a%100==1?"one":a%100==2?"two":a%100==3||a%100==4?"few":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Dejanja"},c.catControl=function(){return"Zanke"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logika"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funkcije"},c.catText=function(){return"Besedilo"},c.catVariables=function(){return"Spremenljivke"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Nadaljuj"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Čestitke! Rešil/a si zadnjo uganko."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"poljuben"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"piksli"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"premakni se dol"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"premakni se levo"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"premakni se desno"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"premakni se gor"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Čestitke! Zaključil/a si to uganko."},c.no=function(){return"Ne"},c.numBlocksNeeded=function(){return"Ta uganka je lahko rešena z %1 bloki."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"predvajaj zvok drobljenja"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"predvajaj zvok udarca"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"predvajaj retro zvok"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Predvajaj izbran zvok."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"poljuben"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"naredi"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Dosežek: "+v(a,"playerScore")+" (Uporabnikove točke)"},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Nastavite sliko ozadja"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"besedilo"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"določi"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"hrustati"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Ja"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/sq_al/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/sq_al/common":40,"../../locale/sq_al/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sq_al/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sq_al/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/sq_al/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/sq_al/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/sq_al/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sq_al/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sq_al/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sq_al/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/sq_al/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sq_al/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sq_al/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sq_al/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.sq=function(a){return 1===a?"one":"other"},c.and=function(){return"dhe"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"aksionet"},c.catColour=function(){return"Colour"},c.catLogic=function(){return"Logic"},c.catLists=function(){return"Listat"},c.catLoops=function(){return"Loops"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funksionet"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variablat"},c.codeTooltip=function(){return"Shikoni kodin e gjenerua JavaScript."},c.continue=function(){return"Vazhdo"},c.dialogCancel=function(){return"Anulo"},c.dialogOK=function(){return"Ne rregull"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Urime! Ju sapo perfunduat fazen finale "},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"sq",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"The blocks for your program can also be represented in JavaScript, the world's most widely adopted programming language:"},c.hashError=function(){return"Sorry, '%1' doesn't correspond with any saved program."},c.help=function(){return"Ndihm"},c.hintTitle=function(){return"Ndihmes:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"Urime ju e perfunduat Puzzle-n "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"sq",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+" and won "+p(a,"numTrophies",0,"sq",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"sq",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"sq",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")},c.repeat=function(){return"përsërit"},c.resetProgram=function(){return"Reset"},c.runProgram=function(){return"Run Program"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Shfaq Kodin"},c.showGeneratedCode=function(){return"Shfaq kodin"},c.subtitle=function(){return"a visual programming environment"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"Ndalesat"},c.openWorkspace=function(){return"How It Works"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"sq",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Provo perseri"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Kthehu ne nivelin e meparshem"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Type your JavaScript code below these instructions."},c.typeFuncs=function(){return"Available functions:%1"},c.typeHint=function(){return"Note that the parentheses and semicolons are required."},c.workspaceHeader=function(){return"Assemble your blocks here: "},c.infinity=function(){return"Infinity"},c.rotateText=function(){return"Rotate your device."},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.sq=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"aksionet"},c.catControl=function(){return"Loops"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logic"},c.catMath=function(){return"Matematika"},c.catProcedures=function(){return"Funksione"},c.catText=function(){return"Tekst"},c.catVariables=function(){return"Variablat"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Vazhdo"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Urime! Ju keni perfunduar enigmen perfundimatare."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"i rastësishëm"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"piksela"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Urime! Ju keni perfunduar kete enigme."},c.no=function(){return"Jo"},c.numBlocksNeeded=function(){return"Kjo enigme mund te zgjidhet me %1 rreshta."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"i rastësishëm"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"bej"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"vendos"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Po"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||""; var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/sr_sp/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/sr_sp/common":40,"../../locale/sr_sp/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sr_sp/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sr_sp/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/sr_sp/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/sr_sp/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/sr_sp/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sr_sp/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sr_sp/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sr_sp/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/sr_sp/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sr_sp/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sr_sp/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sr_sp/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.sr=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.and=function(){return"и"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Акције"},c.catColour=function(){return"Боја"},c.catLogic=function(){return"Логика"},c.catLists=function(){return"Листе"},c.catLoops=function(){return"Понављања"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Функције"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Променљиве"},c.codeTooltip=function(){return"Погледајте генерисани код JavaScript-а."},c.continue=function(){return"Настави"},c.dialogCancel=function(){return"Откажи"},c.dialogOK=function(){return"У реду"},c.directionNorthLetter=function(){return"Север"},c.directionSouthLetter=function(){return"Југ"},c.directionEastLetter=function(){return"Исток"},c.directionWestLetter=function(){return"Запад"},c.end=function(){return"крај"},c.emptyBlocksErrorMsg=function(){return'Да би блок "Понављај" или "Ако" радио, у њега треба уградити друге блокове. Постарајте се да је унутрашњи блок правилно убачен у спољни блок.'},c.emptyFunctionBlocksErrorMsg=function(){return"Тело функције треба да се састоји из блокова како би радило."},c.extraTopBlocks=function(){return"Имаш блокове који нису повезани са основним блоком."},c.finalStage=function(){return"Честитамо! Завршили сте последњу етапу."},c.finalStageTrophies=function(a){return"Честитамо! Завршио-ла си последњи ниво и освојио-ла "+p(a,"numTrophies",0,"sr",{one:"трофеј",other:n(a,"numTrophies")+" трофеја"})+"."},c.finish=function(){return"Заврши"},c.generatedCodeInfo=function(a){return"Чак и најбољи универзитети уче блок-базирано кодирање (нпр. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Али блокови су постављени тако да их можете видети у JavaScript, светском најкоришћенијем програмском језику:"},c.hashError=function(){return"Жао нам је, '%1' не одговара ни једном сачуваном програму."},c.help=function(){return"Помоћ"},c.hintTitle=function(){return"Савет:"},c.jump=function(){return"скок"},c.levelIncompleteError=function(){return"Користиш све неопходне типове блокова, али не на прави начин."},c.listVariable=function(){return"листа"},c.makeYourOwnFlappy=function(){return"Направи своју Flappy игру"},c.missingBlocksErrorMsg=function(){return"Пробај један или више понуђених блокова како би решио-ла мозгалицу."},c.nextLevel=function(a){return"Честитамо! Решио-ла си мозгалицу "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Честитамо! Решили сте Слагалицу "+v(a,"puzzleNumber")+" и освојили "+p(a,"numTrophies",0,"sr",{one:"трофеј",other:n(a,"numTrophies")+" трофеја"})+"."},c.nextStage=function(a){return"Честитамо! Завршили сте "+v(a,"stageName")+"." },c.nextStageTrophies=function(a){return"Честитамо! Завршили сте "+v(a,"stageName")+" и освојили "+p(a,"numTrophies",0,"sr",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Честитамо! Решио-ла си мозгалицу "+v(a,"puzzleNumber")+". (Међутим, постоји програм са само "+p(a,"numBlocks",0,"sr",{one:"једним блоком",other:n(a,"numBlocks")+" блокова"})+".)"},c.numLinesOfCodeWritten=function(a){return"Управо си написао-ла "+p(a,"numLines",0,"sr",{one:"1 линију",other:n(a,"numLines")+" линија"})+" кода!"},c.play=function(){return"играј"},c.puzzleTitle=function(a){return"Мозгалица "+v(a,"puzzle_number")+" од "+v(a,"stage_total")},c.repeat=function(){return"понови"},c.resetProgram=function(){return"Почни поново"},c.runProgram=function(){return"Изврши"},c.runTooltip=function(){return"Покрени програм састављен уз помоћ блокова у радном простору."},c.score=function(){return"Резултат"},c.showCodeHeader=function(){return"Покажи код програма"},c.showGeneratedCode=function(){return"Покажи код програма"},c.subtitle=function(){return"графичко окружење за програмирање"},c.textVariable=function(){return"текст"},c.tooFewBlocksMsg=function(){return"Користиш све неопходне типове блокова, али покушај да искористиш више ових блокова да завршиш мозгалицу."},c.tooManyBlocksMsg=function(){return"Ова мозгалица може да се реши са блокова."},c.tooMuchWork=function(){return"Задао си ми много посла! Покушај са мање понављања."},c.toolboxHeader=function(){return"Блокови"},c.openWorkspace=function(){return"Како то ради"},c.totalNumLinesOfCodeWritten=function(a){return"Укупно : "+p(a,"numLines",0,"sr",{one:"1 линија",other:n(a,"numLines")+" линија"})+" кода."},c.tryAgain=function(){return"Покушај поново"},c.hintRequest=function(){return"Види предлог"},c.backToPreviousLevel=function(){return"Натраг на претходни ниво"},c.saveToGallery=function(){return"Сачувај у своју галерију"},c.savedToGallery=function(){return"Сачувано у твојој галерији!"},c.typeCode=function(){return"Напиши свој JavaScript код испод ових инструкција."},c.typeFuncs=function(){return"Доступне функције:%1"},c.typeHint=function(){return"Уочи да су неопходне заграде и тачка-зарези."},c.workspaceHeader=function(){return"Склопи своје блокове овде: "},c.infinity=function(){return"Бесконачно"},c.rotateText=function(){return"Окрените ваш уређај."},c.orientationLock=function(){return"У подешавањима уређаја искључи блокаду оријентације."},c.wantToLearn=function(){return"Желиш да научиш да програмираш?"},c.watchVideo=function(){return"Погледај видео"},c.when=function(){return"када"},c.whenRun=function(){return"када се извршава"},c.tryHOC=function(){return'Испробај "Hour of Code"'},c.signup=function(){return"Региструј се за уводни курс"},c.hintHeader=function(){return"Ево предлога:"},c.genericFeedback=function(){return"Погледај како си завршио и пробај да поправиш свој програм."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.sr=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.actor=function(){return"учесник"},c.catActions=function(){return"Акције"},c.catControl=function(){return"Петље"},c.catEvents=function(){return"Догађаји"},c.catLogic=function(){return"Логика"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Функције"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Променљиве"},c.changeScoreTooltip=function(){return"Додај или одузми поен резултату."},c.changeScoreTooltipK1=function(){return"Додај поен резултату."},c.continue=function(){return"Настави"},c.decrementPlayerScore=function(){return"одузми поен"},c.defaultSayText=function(){return"упиши овде"},c.emotion=function(){return"расположење"},c.finalLevel=function(){return"Честитамо! Решили сте последњи проблем."},c.hello=function(){return"здраво"},c.helloWorld=function(){return"Здраво Свете!"},c.incrementPlayerScore=function(){return"освоји поен"},c.makeProjectileDisappear=function(){return"нестани"},c.makeProjectileBounce=function(){return"одбиј се"},c.makeProjectileBlueFireball=function(){return"направи плаву ватрену лопту"},c.makeProjectilePurpleFireball=function(){return"направи љубичасту ватрену лопту"},c.makeProjectileRedFireball=function(){return"направи црвену ватрену лопту"},c.makeProjectileYellowHearts=function(){return"направи жута срца"},c.makeProjectilePurpleHearts=function(){return"направи љубичаста срца"},c.makeProjectileRedHearts=function(){return"направи црвена срца"},c.makeProjectileTooltip=function(){return"Учини да пројектил који се сударио нестане или се одбије."},c.makeYourOwn=function(){return"Направи своју причу"},c.moveDirectionDown=function(){return"доле"},c.moveDirectionLeft=function(){return"лево"},c.moveDirectionRight=function(){return"десно"},c.moveDirectionUp=function(){return"горе"},c.moveDirectionRandom=function(){return"случајно"},c.moveDistance25=function(){return"25 пиксела"},c.moveDistance50=function(){return"50 пиксела"},c.moveDistance100=function(){return"100 пиксела"},c.moveDistance200=function(){return"200 пиксела"},c.moveDistance400=function(){return"400 пиксела"},c.moveDistancePixels=function(){return"пиксели"},c.moveDistanceRandom=function(){return"случајни пиксели"},c.moveDistanceTooltip=function(){return"Помери учесника за одређено растојање у одређеном смеру."},c.moveSprite=function(){return"помери"},c.moveSpriteN=function(a){return"помери учесника "+v(a,"spriteIndex")},c.moveDown=function(){return"помери доле"},c.moveDownTooltip=function(){return"Помери учесника на доле."},c.moveLeft=function(){return"помери лево"},c.moveLeftTooltip=function(){return"Помери учесника у лево."},c.moveRight=function(){return"помери десно"},c.moveRightTooltip=function(){return"Помери учесника у десно."},c.moveUp=function(){return"помери се горе"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Честитке! Завршили сте пузлу."},c.no=function(){return"не"},c.numBlocksNeeded=function(){return"Ова слагалица се може решити са %1 блокова."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"одсвирај звук лома"},c.playSoundGoal1=function(){return"одсвирај звук циља 1"},c.playSoundGoal2=function(){return"одсвирај звук циља 2"},c.playSoundHit=function(){return"одсвирај звук ударца"},c.playSoundLosePoint=function(){return"одсвирај звук изгубљеног поена"},c.playSoundLosePoint2=function(){return"одсвирај звук изгубљеног поена 2"},c.playSoundRetro=function(){return"одсвирај старински звук"},c.playSoundRubber=function(){return"одсвирај звук гуме"},c.playSoundSlap=function(){return"одсвирај звук пљеска"},c.playSoundTooltip=function(){return"Одсвирај одабрани звук."},c.playSoundWinPoint=function(){return"одсвирај звук освојеног поена"},c.playSoundWinPoint2=function(){return"одсвирај звук освојеног поена 2"},c.playSoundWood=function(){return"одсвирај звук дрвета"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"насумичан"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"уради"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"учесник "+v(a,"spriteIndex")+" каже"},c.saySpriteTooltip=function(){return"Појави облачић с повезаним текстом од одређеног учесника."},c.scoreText=function(a){return"Резултат: "+v(a,"playerScore")},c.setBackground=function(){return"постави позадину"},c.setBackgroundRandom=function(){return"постави случајну позадину"},c.setBackgroundBlack=function(){return"постави црну позадину"},c.setBackgroundCave=function(){return"постави пећинску позадину"},c.setBackgroundCloudy=function(){return"постави облачну позадину"},c.setBackgroundHardcourt=function(){return"постави терен као позадину"},c.setBackgroundNight=function(){return"постави ноћну позадину"},c.setBackgroundUnderwater=function(){return"постави подводну позадину"},c.setBackgroundCity=function(){return"постави град у позадини"},c.setBackgroundDesert=function(){return"постави пустињу у позадини"},c.setBackgroundRainbow=function(){return"постави дугу у позадини"},c.setBackgroundSoccer=function(){return"постави фудбалску позадину"},c.setBackgroundSpace=function(){return"постави свемирску позадину"},c.setBackgroundTennis=function(){return"постави тениску позадину"},c.setBackgroundWinter=function(){return"постави зимску позадину"},c.setBackgroundTooltip=function(){return"Поставља слику у позадини"},c.setScoreText=function(){return"постави резултат"},c.setScoreTextTooltip=function(){return"Подешавање текста који се приказује поред резултата."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"текст"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"поставити"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"кад је стрелица на доле"},c.whenDownTooltip=function(){return"Изврши акције испод кад се притисне стрелица на доле."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"када је стрелица на лево"},c.whenLeftTooltip=function(){return"Изврши акције испод кад се притисне стрелица лево."},c.whenRight=function(){return"кад је десна стрелица"},c.whenRightTooltip=function(){return"Изврши акције испод кад се притисне стрелица десно."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"кад је стрелица на горе"},c.whenUpTooltip=function(){return"Изврши акције испод кад се притисне стрелица на горе."},c.yes=function(){return"Да"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length) }if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/sv_se/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/sv_se/common":40,"../../locale/sv_se/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sv_se/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sv_se/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/sv_se/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/sv_se/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/sv_se/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sv_se/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sv_se/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sv_se/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/sv_se/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sv_se/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/sv_se/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/sv_se/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.sv=function(a){return 1===a?"one":"other"},c.and=function(){return"och"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Handlingar"},c.catColour=function(){return"Färg"},c.catLogic=function(){return"Logik"},c.catLists=function(){return"Listor"},c.catLoops=function(){return"loopar"},c.catMath=function(){return"Matte"},c.catProcedures=function(){return"Funktioner"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variabler"},c.codeTooltip=function(){return"Se genererad JavaScript-kod."},c.continue=function(){return"Fortsätt"},c.dialogCancel=function(){return"Avbryt"},c.dialogOK=function(){return"Ok"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"Ö"},c.directionWestLetter=function(){return"V"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'"Upprepa" eller "Om" blocken måste ha andra block inuti sig för att fungera. Se till att det inre blocket sitter rätt inuti blocket.'},c.emptyFunctionBlocksErrorMsg=function(){return"Funktionsblocket måste ha andra block i sig för att fungera."},c.extraTopBlocks=function(){return"Du har extra block som inte är kopplade till händelseblock."},c.finalStage=function(){return"Grattis! Du har slutfört den sista nivån."},c.finalStageTrophies=function(a){return"Grattis! Du har slutfört den sista nivån och vann "+p(a,"numTrophies",0,"sv",{en:"en trofé",other:n(a,"numTrophies")+" troféer"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"Även toppuniversitet lär ut blockbaserad programmering (t.ex. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Men under ytan kan blocken du har byggt ihop också visas som JavaScript, världens mest använda programmeringsspråk:"},c.hashError=function(){return"Tyvärr, '%1' finns inte bland dina sparade program."},c.help=function(){return"Hjälp"},c.hintTitle=function(){return"Tips:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"Du använder alla nödvändiga typer av block, men inte på rätt sätt."},c.listVariable=function(){return"lista"},c.makeYourOwnFlappy=function(){return"Gör ditt eget Flappy-spel"},c.missingBlocksErrorMsg=function(){return"Prova med en eller flera av blocken nedan att lösa pusslet."},c.nextLevel=function(a){return"Grattis! Du slutförde pussel "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Grattis! Du slutförde pussel "+v(a,"puzzleNumber")+" och vann "+p(a,"numTrophies",0,"sv",{one:"en trofé",other:n(a,"numTrophies")+" troféer"})+"."},c.nextStage=function(a){return"Grattis! Du har klarat "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Grattis! Du klarade "+v(a,"stageName")+" och har fått "+p(a,"numTrophies",0,"sv",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Grattis! Du slutförde pussel "+v(a,"puzzleNumber")+". (Men du skulle bara behövt använda"+p(a,"numBlocks",0,"sv",{one:"1 block",other:n(a,"numBlocks")+" block"})+".)"},c.numLinesOfCodeWritten=function(a){return"Du skrev bara "+p(a,"numLines",0,"sv",{one:"1 rad",other:n(a,"numLines")+" rader"})+" kod!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Pussel "+v(a,"puzzle_number")+" av "+v(a,"stage_total")},c.repeat=function(){return"upprepa"},c.resetProgram=function(){return"Återställ"},c.runProgram=function(){return"starta programmet"},c.runTooltip=function(){return"Starta programmet som gjorts av blocken på arbetsytan."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Visa kod"},c.showGeneratedCode=function(){return"Visa kod"},c.subtitle=function(){return"en visuell programmeringsmiljö"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"Du använder alla nödvändiga typer av block, men prova att använda flera av denna typen av block för att slutföra pusslet."},c.tooManyBlocksMsg=function(){return"Detta pusslet kan lösas med block."},c.tooMuchWork=function(){return"Du fick mig att göra en hel del arbete! Du kan försöka upprepa färre gånger?"},c.toolboxHeader=function(){return"Block"},c.openWorkspace=function(){return"Hur det fungerar"},c.totalNumLinesOfCodeWritten=function(a){return"Totalt: "+p(a,"numLines",0,"sv",{one:"1 rad",other:n(a,"numLines")+" rader"})+" kod."},c.tryAgain=function(){return"Försök igen"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Gå tillbaka till föregående nivå"},c.saveToGallery=function(){return"Spara till ditt galleri"},c.savedToGallery=function(){return"Sparat till ditt galleri!"},c.typeCode=function(){return"Skriv din JavaScript-kod under instruktionerna."},c.typeFuncs=function(){return"Tillgängliga funktioner:%1"},c.typeHint=function(){return"Observera att parenteserna och semikolonen är obligatoriska."},c.workspaceHeader=function(){return"Sätt ihop dina block här: "},c.infinity=function(){return"Oändligt"},c.rotateText=function(){return"Rotera din enhet."},c.orientationLock=function(){return"Stäng av orienterings låset i enhetsinställningar."},c.wantToLearn=function(){return"Vill du lära dig att programmera?"},c.watchVideo=function(){return"Titta på videon"},c.when=function(){return"when"},c.whenRun=function(){return"när startat"},c.tryHOC=function(){return"Prove en Timme med Kod"},c.signup=function(){return"Registrera dig för introduktionskursen"},c.hintHeader=function(){return"Här är ett tips:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.sv=function(a){return 1===a?"one":"other"},c.actor=function(){return"skådespelare"},c.catActions=function(){return"Handlingar"},c.catControl=function(){return"Loopar"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logik"},c.catMath=function(){return"Matematik"},c.catProcedures=function(){return"Funktioner"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variabler"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Fortsätt"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"skriv här"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Grattis! Du har löst den sista uppgiften."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"spelarens poäng"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"skapa röd eldboll"},c.makeProjectileYellowHearts=function(){return"skapa gula hjärtan"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Skapa din egen berättelse"},c.moveDirectionDown=function(){return"ner"},c.moveDirectionLeft=function(){return"vänster"},c.moveDirectionRight=function(){return"höger"},c.moveDirectionUp=function(){return"upp"},c.moveDirectionRandom=function(){return"slumpad"},c.moveDistance25=function(){return"25 pixlar"},c.moveDistance50=function(){return"50 pixlar"},c.moveDistance100=function(){return"100 pixlar"},c.moveDistance200=function(){return"200 pixlar"},c.moveDistance400=function(){return"400 pixlar"},c.moveDistancePixels=function(){return"pixlar"},c.moveDistanceRandom=function(){return"slumpade pixlar"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"flytta"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"flytta neråt"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"flytta vänster"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"flytta höger"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"flytta uppåt"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Grattis! Du har slutfört den här uppgiften."},c.no=function(){return"Nej"},c.numBlocksNeeded=function(){return"Den här uppgiften kan lösas med %1 block."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"spela retro-ljud"},c.playSoundRubber=function(){return"spela gummi-ljud"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Spela det valda ljudet."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"slumpad"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"utför"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Poäng: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Ange bakgrundsbild"},c.setScoreText=function(){return"anger poäng"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"visa"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"till en häx-bild"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"till en slumpad hastighet"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"välj"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"när pil upp"},c.whenUpTooltip=function(){return"Utför handlingarna nedan när pil-upptangenten trycks ner."},c.yes=function(){return"Ja"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||""; var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ta_in/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ta_in/common":40,"../../locale/ta_in/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ta_in/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ta_in/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ta_in/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ta_in/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ta_in/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ta_in/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ta_in/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ta_in/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ta_in/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ta_in/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ta_in/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ta_in/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ta=function(a){return 1===a?"one":"other"},c.and=function(){return"மற்றும்"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"செயல்கள்"},c.catColour=function(){return"வண்ணம்"},c.catLogic=function(){return"தர்க்கம்"},c.catLists=function(){return"பட்டியல்கள்"},c.catLoops=function(){return"சுழற்சிகள்"},c.catMath=function(){return"கணிதம்"},c.catProcedures=function(){return"செயல்பாடுகள்"},c.catText=function(){return"உரை"},c.catVariables=function(){return"மாறிலிகள்"},c.codeTooltip=function(){return"உருவாக்கப்பட்ட ஜாவாஉரைக் குறியீடுகளை பார்க்க."},c.continue=function(){return"தொடர்ந்து"},c.dialogCancel=function(){return"ரத்து செய்"},c.dialogOK=function(){return"சரி"},c.directionNorthLetter=function(){return"வடக்கு"},c.directionSouthLetter=function(){return"தெற்கு"},c.directionEastLetter=function(){return"கிழக்கு"},c.directionWestLetter=function(){return"மேற்கு"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"வாழ்த்துக்கள்! நீங்கள் இறுதிக் கட்டத்தை நிறைவு செய்துள்ளீர்கள்."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"ta",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"The blocks for your program can also be represented in JavaScript, the world's most widely adopted programming language:"},c.hashError=function(){return"மன்னிக்கவும், '%1' எந்த சேமிக்கப்பட்ட நிரலுடனும் பொருந்தவில்லை."},c.help=function(){return"உதவி"},c.hintTitle=function(){return"குறிப்பு:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"பட்டியல்"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"வாழ்த்துக்கள்! நீங்கள் "+v(a,"puzzleNumber")+" ஆவது புதிரை நிறைவு செய்துள்ளீர்கள்."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"ta",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"வாழ்த்துக்கள்! நீங்கள் "+v(a,"stageNumber")+" ஆவது நிலையை நிறைவு செய்துள்ளீர்கள்."},c.nextStageTrophies=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+" and won "+p(a,"numTrophies",0,"ta",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"ta",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"ta",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return v(a,"stage_total")+" ஆம் நிலையில் புதிர் "+v(a,"puzzle_number")},c.repeat=function(){return"மறுபடி"},c.resetProgram=function(){return"மீட்டமை"},c.runProgram=function(){return"நிரலை இயக்கு"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"குறியீட்டை காண்பி"},c.showGeneratedCode=function(){return"குறியீட்டை காண்பி"},c.subtitle=function(){return"a visual programming environment"},c.textVariable=function(){return"உரை"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"தொகுதிகள்"},c.openWorkspace=function(){return"இது எப்படி செயல்படுகிறது"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"ta",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"மீண்டும் முயற்சி செய்"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"முந்தைய நிலைக்கு திரும்பவும்"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"இந்த அறிவுரைகளுக்கு கீழே உங்கள் ஜாவா குறியீட்டை தட்டச்சு செய்யவும்."},c.typeFuncs=function(){return"கிடைக்கப்பெறும் செயல்பாடுகள்: %1"},c.typeHint=function(){return"குறிப்பு, அந்த அடைப்புக்குறிகள் மற்றும் அரைப்புள்ளிகள் தேவையானது."},c.workspaceHeader=function(){return"உங்கள் தொகுதிகளை இங்கே பொருத்துங்கள்: "},c.infinity=function(){return"முடிவிலி"},c.rotateText=function(){return"உங்கள் சாதனத்தை சுழற்றவும்."},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"குறியீடுகள் கற்க வேண்டுமா?"},c.watchVideo=function(){return"காணொளியை பார்க்கவும்"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"ஆரம்ப பாடத்திற்கு பதிவுபெறவும்"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ta=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"செயல்கள்"},c.catControl=function(){return"சுழற்சிகள்"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"தர்க்கம்"},c.catMath=function(){return"கணிதம்"},c.catProcedures=function(){return"செயல்பாடுகள்"},c.catText=function(){return"உரை"},c.catVariables=function(){return"மாறிலிகள்"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"தொடர்ந்து"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"வாழ்த்துக்கள்! நீங்கள் இறுதிப் புதிரை தீர்த்துவிட்டீர்கள்."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"மதிப்பெண் பெறு"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"எழுமாறான"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"படப்புள்ளிகள்"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"கீழே நகர்த்த"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Congratulations! You have completed this puzzle."},c.no=function(){return"இல்லை"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"எழுமாறான"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"செய்"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"உரை"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"அமை"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"ஆம்"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/th_th/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/th_th/common":40,"../../locale/th_th/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/th_th/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/th_th/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/th_th/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/th_th/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/th_th/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/th_th/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/th_th/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/th_th/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/th_th/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/th_th/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/th_th/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/th_th/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.th=function(){return"other"},c.and=function(){return"และ"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"การดำเนินการ"},c.catColour=function(){return"สี"},c.catLogic=function(){return"ตรรกะ"},c.catLists=function(){return"ลิสต์"},c.catLoops=function(){return"ลูป"},c.catMath=function(){return"คำนวณ"},c.catProcedures=function(){return"ฟังก์ชัน"},c.catText=function(){return"ข้อความ"},c.catVariables=function(){return"ตัวแปร"},c.codeTooltip=function(){return"ดูการสร้างโค้ด JavaScript."},c.continue=function(){return"ต่อไป"},c.dialogCancel=function(){return"ยกเลิก"},c.dialogOK=function(){return"ตกลง"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"สิ้นสุด"},c.emptyBlocksErrorMsg=function(){return'"ทำซ้ำ" หรือ "ถ้า" บล็อกจำเป็นต้องมีบล็อกอื่น ๆ ภายในจึงจะทำงาน. ตรวจสอบให้แน่ใจว่า บล็อกภายในเข้ากันอย่างถูกต้องแล้ว.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"คุณมีบล็อกพิเศษที่ไม่ได้แนบมาที่บล็อกในปัจจุบัน."},c.finalStage=function(){return"ขอแสดงความยินดี ขั้นตอนสุดท้ายสำเร็จแล้ว."},c.finalStageTrophies=function(a){return"ขอแสดงความยินดี คุณได้เสร็จสิ้นขั้นตอนสุดท้าย และชนะ "+p(a,"numTrophies",0,"th",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"มหาวิทยาลัยชั้นนำสอนการเขียนโค้ดแบบ บล็อกเบสต์ (e.g., "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). แต่ภายใต้กรอบสี่เหลี่ยมนั้น, คุณต้องประมวลผลให้บล็อกของคุณแสดงใน ภาษาจาว่า, ซึ่งเป็นภาษาที่กว้าง และสำคัญของโลก."},c.hashError=function(){return"ขออภัย '%1' ไม่ตรงกับโปรแกรมที่บันทึกไว้."},c.help=function(){return"ช่วยเหลือ"},c.hintTitle=function(){return"คำแนะนำ:"},c.jump=function(){return"กระโดด"},c.levelIncompleteError=function(){return"คุณกำลังใช้ทุกสิ่งทุกอย่างที่จำเป็นของบล็อก แต่ไม่ใช่ทางที่ถูกต้อง."},c.listVariable=function(){return"ลิสต์"},c.makeYourOwnFlappy=function(){return"สร้าง Flappy เกม ไว้เป็นของเราเอง"},c.missingBlocksErrorMsg=function(){return"ลองอย่างน้อยหนึ่งบล็อกด้านล่างเพื่อแก้ปริศนานี้."},c.nextLevel=function(a){return"ขอแสดงความยินดี คุณเสร็จสิ้นปริศนา "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"ขอแสดงความยินดี คุณเสร็จสิ้นปริศนา "+v(a,"puzzleNumber")+" และชนะ "+p(a,"numTrophies",0,"th",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"เย้ ยินดีด้วย คุณผ่านด่าน "+v(a,"stageName")+" แล้ว"},c.nextStageTrophies=function(a){return"เย้ ยินดีด้วย คุณผ่านด่าน "+v(a,"stageName")+" แล้ว และยังได้ "+p(a,"numTrophies",0,"th",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+" อีกด้วย !" },c.numBlocksNeeded=function(a){return"ขอแสดงความยินดี คุณสมบูรณ์ปริศนา "+v(a,"puzzleNumber")+" (อย่างไรก็ตาม คุณสามารถใช้เฉพาะ "+p(a,"numBlocks",0,"th",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"คุณเพิ่งเขียนรหัส "+p(a,"numLines",0,"th",{one:"1 บรรทัด",other:n(a,"numLines")+" บรรทัด"})+"!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"ปริศนา "+v(a,"puzzle_number")+" ของ "+v(a,"stage_total")},c.repeat=function(){return"ทำซ้ำ"},c.resetProgram=function(){return"ตั้งค่าใหม่"},c.runProgram=function(){return"เริ่ม"},c.runTooltip=function(){return"เรียกใช้โปรแกรมที่กำหนด โดยบล็อกในพื้นที่ทำงาน."},c.score=function(){return"score"},c.showCodeHeader=function(){return"แสดงโค้ด"},c.showGeneratedCode=function(){return"แสดงโค้ด"},c.subtitle=function(){return"มุมมองสภาพการเขียนโปรแกรม"},c.textVariable=function(){return"ข้อความ"},c.tooFewBlocksMsg=function(){return"คุณได้ใช้ทุกบล็อกที่จำเป็นแล้ว แต่ลองให้บล็อกหลากหลายมากกว่านี้เพื่อให้การแก้ปัญหาสมบูรณ์แบบ."},c.tooManyBlocksMsg=function(){return"ปัญหานี้สามารถแก้ด้วยบล็อกนี้คือ ."},c.tooMuchWork=function(){return"คุณทำให้ฉันทำงานหนัก! คุณจะทำซ้ำให้น้อยลงได้ไหม?"},c.toolboxHeader=function(){return"บล็อก"},c.openWorkspace=function(){return"มันทำงานได้อย่างไร"},c.totalNumLinesOfCodeWritten=function(a){return"รวมสรุป: "+p(a,"numLines",0,"th",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"ลองอีกครั้ง"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"กลับไปยังระดับก่อนหน้า"},c.saveToGallery=function(){return"บันทึกไว้ในแกลลอรี่"},c.savedToGallery=function(){return"บันทึกแล้ว!"},c.typeCode=function(){return"พิมพ์โค้ด JavaScript ของคุณด้านล่างคำสั่งเหล่านี้"},c.typeFuncs=function(){return"จำนวนฟังก์ชันที่ใช้ได้: %1"},c.typeHint=function(){return"หมายเหตุวงเล็บและเครื่องหมายอัฒภาคจำเป็นต้องใช้."},c.workspaceHeader=function(){return"รวบรวมบล็อกของคุณที่นี่: "},c.infinity=function(){return"ไม่จำกัด"},c.rotateText=function(){return"หมุนอุปกรณ์ของคุณ."},c.orientationLock=function(){return"ปิดล็อควางแนวในการตั้งค่าอุปกรณ์."},c.wantToLearn=function(){return"ต้องการศึกษาการเขียนโปรแกรมหรือ"},c.watchVideo=function(){return"ดูวีดีโอ"},c.when=function(){return"เมื่อ"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"ลองใช้ Hour of Code สิ"},c.signup=function(){return"ลงทะเบียนเพื่อทดลองเรียน"},c.hintHeader=function(){return"นี่คือเคล็ดลับ:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.th=function(){return"other"},c.actor=function(){return"actor"},c.catActions=function(){return"การดำเนินการ"},c.catControl=function(){return"ลูป"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"ตรรกะ"},c.catMath=function(){return"คำนวณ"},c.catProcedures=function(){return"ฟังก์ชัน"},c.catText=function(){return"ข้อความ"},c.catVariables=function(){return"ตัวแปร"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"ต่อไป"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Congratulations! You have solved the final puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"สร้างเรื่องของคุณเอง"},c.moveDirectionDown=function(){return"ลง"},c.moveDirectionLeft=function(){return"ซ้าย"},c.moveDirectionRight=function(){return"ขวา"},c.moveDirectionUp=function(){return"ขึ้น"},c.moveDirectionRandom=function(){return"สุ่ม"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"ย้ายตัวละครไปตามระยะทางและทิศทางที่ระบุ"},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"ย้ายตัวละครลงข้างล่าง"},c.moveLeft=function(){return"ย้ายไปทางซ้าย"},c.moveLeftTooltip=function(){return"ย้ายตัวละครไปทางซ้าย"},c.moveRight=function(){return"ย้ายไปทางขวา"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Congratulations! You have completed this puzzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"สุ่ม"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"do"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"คะแนน: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"ย้ายตัวละครไปยังตำแหน่งที่ระบุทันที"},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"แบ่งปันเรื่องราวของคุณ:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"ข้อความ"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"ชุด"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"รอการคลิก"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"รอครึ่งวินาที"},c.waitFor1Second=function(){return"รอ 1 วินาที"},c.waitFor2Seconds=function(){return"รอ 2 วินาที"},c.waitFor5Seconds=function(){return"รอ 5 วินาที"},c.waitFor10Seconds=function(){return"รอ 10 วินาที"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"รอตามเวลาที่ระบุ หรือรอจนกว่าจะมีการคลิกเกิดขึ้น"},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"เมื่อกดลูกศรลง"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"เมื่อกดลูกศรซ้าย"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"เมื่อกดลูกศรขวา"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"เมื่อคลิกที่ตัวละคร"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"เมื่อกดลูกศรขึ้น"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"ใช่"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E]; if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/tr_tr/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/tr_tr/common":40,"../../locale/tr_tr/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/tr_tr/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/tr_tr/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/tr_tr/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/tr_tr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/tr_tr/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/tr_tr/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/tr_tr/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/tr_tr/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/tr_tr/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/tr_tr/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/tr_tr/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/tr_tr/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.tr=function(){return"other"},c.and=function(){return"ve"},c.blocklyMessage=function(){return"Parçalı"},c.catActions=function(){return"İşlemler"},c.catColour=function(){return"Renk"},c.catLogic=function(){return"Mantık"},c.catLists=function(){return"Listeler"},c.catLoops=function(){return"Döngüler"},c.catMath=function(){return"Matematik"},c.catProcedures=function(){return"Fonksiyonlar"},c.catText=function(){return"Yazı"},c.catVariables=function(){return"Değişkenler"},c.codeTooltip=function(){return"Oluşturulan JavaScript kodunu gör."},c.continue=function(){return"Devam"},c.dialogCancel=function(){return"İptal"},c.dialogOK=function(){return"TAMAM"},c.directionNorthLetter=function(){return"K"},c.directionSouthLetter=function(){return"G"},c.directionEastLetter=function(){return"D"},c.directionWestLetter=function(){return"B"},c.end=function(){return"son"},c.emptyBlocksErrorMsg=function(){return'"Tekrar" bloğu veya "Eğer" bloğunun çalışması için içerisinde bir başka blok yer almalıdır. İçteki bloğu, dış blok içerisine yerleştirdiğine emin ol.'},c.emptyFunctionBlocksErrorMsg=function(){return"Fonksiyon bloğunun çalışabilmesi için içine başka bloklar koymalısın."},c.extraTopBlocks=function(){return"Bir olay bloğuna eklenmemiş ekstra blokların var."},c.finalStage=function(){return"Son aşamayı bitirdiniz. Tebrikler!"},c.finalStageTrophies=function(a){return"Tebrikler! Son aşamayı bitirerek "+p(a,"numTrophies",0,"tr",{one:"bir ganimet",other:n(a,"numTrophies")+" ganimet"})+" kazandınız."},c.finish=function(){return"Bitir"},c.generatedCodeInfo=function(a){return"Dünyanın en iyi üniversiteleri bile yap-boz oyun tabanlı kodlama öğretiyor (Örn. "+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+"). Ayrıca detaylı incelerseniz, birleştirdiğiniz bloklar dünyanın en yaygın kullanılan kodlama dili olan JavaScript dilinde de görüntüleniyor:"},c.hashError=function(){return"Üzgünüz, '%1' kayıtlı herhangi bir programa karşılık gelmez."},c.help=function(){return"Yardım"},c.hintTitle=function(){return"İpucu:"},c.jump=function(){return"atla"},c.levelIncompleteError=function(){return"Tüm gerekli türdeki blokları kullanıyorsunuz ama doğru şekilde değil."},c.listVariable=function(){return"liste"},c.makeYourOwnFlappy=function(){return"Kendi Flappy Oyununu Yap"},c.missingBlocksErrorMsg=function(){return"Aşağıdaki bloklardan bir ya da birden fazlasını kullanarak bulmacayı çözmeye çalışın."},c.nextLevel=function(a){return"Tebrikler! Bulmaca "+v(a,"puzzleNumber")+" tamamlandı."},c.nextLevelTrophies=function(a){return"Tebrikler! Bulmaca "+v(a,"puzzleNumber")+" tamamlandı ve "+p(a,"numTrophies",0,"tr",{one:"bir kupa",other:n(a,"numTrophies")+" kupa"})+" kazandınız."},c.nextStage=function(a){return"Tebrikler! "+v(a,"stageName")+" tamamlandı."},c.nextStageTrophies=function(a){return"Tebrikler! Kademe "+v(a,"stageNumber")+" tamamlandı ve "+p(a,"numTrophies",0,"tr",{one:"bir kupa",other:n(a,"numTrophies")+" kupalar"})+" kazandınız." },c.numBlocksNeeded=function(a){return"Tebrikler! Bulmaca "+v(a,"puzzleNumber")+" tamamlandı. (Ancak, sadece "+p(a,"numBlocks",0,"tr",{one:"1 blok",other:n(a,"numBlocks")+" blok"})+" kullanmış olabilirdiniz.)"},c.numLinesOfCodeWritten=function(a){return"Tam olarak "+p(a,"numLines",0,"tr",{one:"1 satır",other:n(a,"numLines")+" satır"})+" kod yazdınız!"},c.play=function(){return"oynat"},c.puzzleTitle=function(a){return"Bulmaca "+v(a,"puzzle_number")+" / "+v(a,"stage_total")},c.repeat=function(){return"tekrarla"},c.resetProgram=function(){return"Yeniden başla"},c.runProgram=function(){return"Çalıştır"},c.runTooltip=function(){return"Çalişma alaninda bloklar tarafından tanımlanmış bir program çalıştır."},c.score=function(){return"puan"},c.showCodeHeader=function(){return"Kodu Görüntüle"},c.showGeneratedCode=function(){return"Kodu Görüntüle"},c.subtitle=function(){return"Bir görsel programa ortamı"},c.textVariable=function(){return"metin yazısı"},c.tooFewBlocksMsg=function(){return"Tüm gerekli blok türlerini kullanıyorsun,fakat bulmacayı tamamlamak için bu blok tiplerinden daha fazla kullanmayı dene."},c.tooManyBlocksMsg=function(){return"Bu bulmaca bloklarıyla çözülebilir."},c.tooMuchWork=function(){return"Bana çok fazla iş yaptırdın!Daha az tekrar etmeyi deneyebilir misin ?"},c.toolboxHeader=function(){return"Bloklar"},c.openWorkspace=function(){return"Nasıl Çalışır"},c.totalNumLinesOfCodeWritten=function(a){return"Toplam: "+p(a,"numLines",0,"tr",{one:"1 satır",other:n(a,"numLines")+" satır"})+" kod."},c.tryAgain=function(){return"Tekrar dene"},c.hintRequest=function(){return"İpucunu gör"},c.backToPreviousLevel=function(){return"Önceki seviyeye dön"},c.saveToGallery=function(){return"Galerine kaydet"},c.savedToGallery=function(){return"Galerine kaydedildi!"},c.typeCode=function(){return"Açıklamaların altına kendi JavaScript kodunu yaz."},c.typeFuncs=function(){return"Uygun fonksiyon:%1"},c.typeHint=function(){return"Parantezlerin ve noktalı virgüllerin gerekli olduğuna dikkat et."},c.workspaceHeader=function(){return"Bloklarını burda topla: "},c.infinity=function(){return"Sonsuz"},c.rotateText=function(){return"Cihazınızı döndürün."},c.orientationLock=function(){return"Yönlendirme kilidini aygıt ayarlarından devre dışı bırakın."},c.wantToLearn=function(){return"Kod yazmayı öğrenmek ister misiniz?"},c.watchVideo=function(){return"Videoyu İzle"},c.when=function(){return"Ne zaman"},c.whenRun=function(){return"Çalıştığı zaman"},c.tryHOC=function(){return"Kodlama Saati'ni Deneyin"},c.signup=function(){return"Giriş dersi için üye olun"},c.hintHeader=function(){return"İşte bir ipucu:"},c.genericFeedback=function(){return"Sonucunu gör ve programını düzeltmeyi dene."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.tr=function(){return"other"},c.actor=function(){return"aktör"},c.catActions=function(){return"Eylemler"},c.catControl=function(){return"Döngüler"},c.catEvents=function(){return"Olaylar"},c.catLogic=function(){return"Mantık"},c.catMath=function(){return"Matematik"},c.catProcedures=function(){return"Fonksiyonlar"},c.catText=function(){return"metin yazısı"},c.catVariables=function(){return"Değişkenler"},c.changeScoreTooltip=function(){return"Skoru bir puan arttır veya azalt."},c.changeScoreTooltipK1=function(){return"Skora bir puan ekle."},c.continue=function(){return"Devam Et"},c.decrementPlayerScore=function(){return"Puanı sil"},c.defaultSayText=function(){return"buraya yazın"},c.emotion=function(){return"ruh hali"},c.finalLevel=function(){return"Tebrikler! Son bulmacayı da çözdünüz."},c.hello=function(){return"merhaba"},c.helloWorld=function(){return"Merhaba Dünya!"},c.incrementPlayerScore=function(){return"Skor puanı"},c.makeProjectileDisappear=function(){return"yok et"},c.makeProjectileBounce=function(){return"atla"},c.makeProjectileBlueFireball=function(){return"Mavi alev topu yap"},c.makeProjectilePurpleFireball=function(){return"mavi alev topu yap"},c.makeProjectileRedFireball=function(){return"kırmızı ateş topu yap\n"},c.makeProjectileYellowHearts=function(){return"sarı kalpler yap"},c.makeProjectilePurpleHearts=function(){return"mor kalpler yap"},c.makeProjectileRedHearts=function(){return"kırmızı kalpler yap"},c.makeProjectileTooltip=function(){return"Çarpıştığında yok olan veya sıçrayan bir mermi yap."},c.makeYourOwn=function(){return"Kendi Hikayeni Yarat"},c.moveDirectionDown=function(){return"aşağı"},c.moveDirectionLeft=function(){return"sol"},c.moveDirectionRight=function(){return"sağ"},c.moveDirectionUp=function(){return"yukarı"},c.moveDirectionRandom=function(){return"rastgele"},c.moveDistance25=function(){return"25 piksel"},c.moveDistance50=function(){return"50 piksel"},c.moveDistance100=function(){return"100 piksel"},c.moveDistance200=function(){return"200 piksel"},c.moveDistance400=function(){return"400 piksel"},c.moveDistancePixels=function(){return"piksel"},c.moveDistanceRandom=function(){return"rasgele piksel"},c.moveDistanceTooltip=function(){return"Bir oyuncuyu belirli bir yönde belirli bir mesafe hareket ettirin."},c.moveSprite=function(){return"hareket et"},c.moveSpriteN=function(a){return"taşı aktör "+v(a,"spriteIndex")},c.moveDown=function(){return"aşağı yönde ilerle"},c.moveDownTooltip=function(){return"Bir oyuncuyu aşağı yönde hareket ettirin."},c.moveLeft=function(){return"sola ilerle"},c.moveLeftTooltip=function(){return"Bir oyuncuyu sola doğru hareket ettir."},c.moveRight=function(){return"sağa ilerle"},c.moveRightTooltip=function(){return"Bir oyuncuyu sağa doğru hareket ettir."},c.moveUp=function(){return"yukarı hareket et"},c.moveUpTooltip=function(){return"Bir oyuncuyu yukarı doğru hareket ettir."},c.moveTooltip=function(){return"Bir aktör taşı."},c.nextLevel=function(){return"Tebrikler! Bu bulmacayı tamamladınız."},c.no=function(){return"Hayır"},c.numBlocksNeeded=function(){return"Bu puzzle %1 blok ile çözülebilir."},c.ouchExclamation=function(){return"Ah!"},c.playSoundCrunch=function(){return"ezilme sesi çal"},c.playSoundGoal1=function(){return'"Hedef 1" sesi çal'},c.playSoundGoal2=function(){return'"Hedef 2" sesi çal'},c.playSoundHit=function(){return'"Çarpma" sesi çal'},c.playSoundLosePoint=function(){return'"Puan kaybetme" sesi çal'},c.playSoundLosePoint2=function(){return'"Puan kaybetme 2" sesi çal'},c.playSoundRetro=function(){return'"Retro" sesi çal'},c.playSoundRubber=function(){return'"Lastik" sesi çıkart'},c.playSoundSlap=function(){return'"Tokat" sesi çıkart'},c.playSoundTooltip=function(){return"Seçilen sesi çal."},c.playSoundWinPoint=function(){return'"Puan kazanma" sesi çal'},c.playSoundWinPoint2=function(){return'"Puan kazanma 2" sesi çal'},c.playSoundWood=function(){return'"Odun" sesi çıkart'},c.positionOutTopLeft=function(){return"yukarıdaki sol üst konuma"},c.positionOutTopRight=function(){return"yukarıdaki sağ üst konuma"},c.positionTopOutLeft=function(){return"sol üst dış konuma"},c.positionTopLeft=function(){return"sol üst konuma"},c.positionTopCenter=function(){return"üst orta konuma"},c.positionTopRight=function(){return"sağ üst konuma"},c.positionTopOutRight=function(){return"sağ üst dış konuma"},c.positionMiddleLeft=function(){return"orta sol konuma"},c.positionMiddleCenter=function(){return"ortanın ortası konuma"},c.positionMiddleRight=function(){return"orta sağ konuma"},c.positionBottomOutLeft=function(){return"sol alt dış konuma"},c.positionBottomLeft=function(){return"sol alt konuma"},c.positionBottomCenter=function(){return"alt orta konuma"},c.positionBottomRight=function(){return"sağ alt konuma"},c.positionBottomOutRight=function(){return"sağ alt dış konuma"},c.positionOutBottomLeft=function(){return"Aşağıdaki sol alt konuma"},c.positionOutBottomRight=function(){return"Aşağıdaki sağ alt konuma"},c.positionRandom=function(){return"rastgele konuma"},c.projectileBlueFireball=function(){return"mavi ateş topu"},c.projectilePurpleFireball=function(){return"mor ateş topu"},c.projectileRedFireball=function(){return"kırmızı ateş topu"},c.projectileYellowHearts=function(){return"sarı kalpler"},c.projectilePurpleHearts=function(){return"mor kalpler"},c.projectileRedHearts=function(){return"kırmızı kalpler"},c.projectileRandom=function(){return"rastgele"},c.reinfFeedbackMsg=function(){return'Oyununuzu tekrar oynamak için "yeniden dene" butonuna basabilirsiniz.'},c.repeatForever=function(){return"Sonsuza kadar tekrarla"},c.repeatDo=function(){return"yap"},c.repeatForeverTooltip=function(){return"Oyun çalışırken eylemleri bu blok içinde tekrarlı yürüt."},c.saySprite=function(){return"de"},c.saySpriteN=function(a){return"aktör "+v(a,"spriteIndex")+" de"},c.saySpriteTooltip=function(){return"Bir konuşma balonu ile ilişkili metni belirtilen aktörden aç."},c.scoreText=function(a){return"Skor: "+v(a,"playerScore")},c.setBackground=function(){return"ayarla arkaplan"},c.setBackgroundRandom=function(){return"ayarla rastgele arkaplan"},c.setBackgroundBlack=function(){return"ayarla siyah arkaplan"},c.setBackgroundCave=function(){return"ayarla mağara arkaplan"},c.setBackgroundCloudy=function(){return"ayarla bulutlu arkaplan"},c.setBackgroundHardcourt=function(){return"ayarla arkaplan sert zemin"},c.setBackgroundNight=function(){return"Gece arka planını ayarla"},c.setBackgroundUnderwater=function(){return"Sualtı arka planını ayarla"},c.setBackgroundCity=function(){return"Şehir arka planını ayarla"},c.setBackgroundDesert=function(){return"Çöl arka planını ayarla"},c.setBackgroundRainbow=function(){return"Gökkuşağı arkaplanını ayarla"},c.setBackgroundSoccer=function(){return"Futbol arka planını ayarla"},c.setBackgroundSpace=function(){return"Uzay arka planını ayarla"},c.setBackgroundTennis=function(){return"Tenis arka planını ayarla"},c.setBackgroundWinter=function(){return"Kış arka planını ayarla"},c.setBackgroundTooltip=function(){return"Arka plan resmini ayarlar"},c.setScoreText=function(){return"skor ayarla"},c.setScoreTextTooltip=function(){return"Skor alanında görüntülenecek metni ayarlar."},c.setSpriteEmotionAngry=function(){return"sinirli hal için"},c.setSpriteEmotionHappy=function(){return"mutlu hal için"},c.setSpriteEmotionNormal=function(){return"normal hal için"},c.setSpriteEmotionRandom=function(){return"rastgele hal için"},c.setSpriteEmotionSad=function(){return"üzgün hal için"},c.setSpriteEmotionTooltip=function(){return"Aktör ruh halini ayarla"},c.setSpriteAlien=function(){return"uzaylı görüntüsü için"},c.setSpriteBat=function(){return"yarasa resmi için"},c.setSpriteBird=function(){return"kuş resmi için"},c.setSpriteCat=function(){return"kedi resmi için"},c.setSpriteCaveBoy=function(){return"mağara çocuğu resmine"},c.setSpriteCaveGirl=function(){return"mağara kızı resmine"},c.setSpriteDinosaur=function(){return"dinozor resmi için"},c.setSpriteDog=function(){return"köpek resmi için"},c.setSpriteDragon=function(){return"ejderha resmi için"},c.setSpriteGhost=function(){return"hayalet resmi için"},c.setSpriteHidden=function(){return"gizli görüntü için"},c.setSpriteHideK1=function(){return"gizle"},c.setSpriteKnight=function(){return"şövalye resmi için"},c.setSpriteMonster=function(){return"canavar resmi için"},c.setSpriteNinja=function(){return"maskeli ninja resmi için"},c.setSpriteOctopus=function(){return"ahtapot resmi için"},c.setSpritePenguin=function(){return"penguen resmi için"},c.setSpritePirate=function(){return"korsan resmi için"},c.setSpritePrincess=function(){return"prenses resmi için"},c.setSpriteRandom=function(){return"rasgele bir resim için"},c.setSpriteRobot=function(){return"robot resmi için"},c.setSpriteShowK1=function(){return"göster"},c.setSpriteSpacebot=function(){return"Uzaybotu görüntüsüne"},c.setSpriteSoccerGirl=function(){return"futbolcu kız resmine"},c.setSpriteSoccerBoy=function(){return"futbolcu çocuk resmine"},c.setSpriteSquirrel=function(){return"sincap resmi için"},c.setSpriteTennisGirl=function(){return"tenisçi kız resmine"},c.setSpriteTennisBoy=function(){return"tenizçi çocuk resmine"},c.setSpriteUnicorn=function(){return"tek boynuzlu at resmi için"},c.setSpriteWitch=function(){return"cadı resmi için"},c.setSpriteWizard=function(){return"büyücü resmi için"},c.setSpritePositionTooltip=function(){return"Anlık olarak aktörü belirtilen konuma taşır."},c.setSpriteK1Tooltip=function(){return"Belirtilen aktörü gösterir ya da gizler."},c.setSpriteTooltip=function(){return"Aktör resmini ayarlar"},c.setSpriteSizeRandom=function(){return"rastgele bi boyuta"},c.setSpriteSizeVerySmall=function(){return"çok küçük bir boyuta\n"},c.setSpriteSizeSmall=function(){return"küçük bir boyuta\n"},c.setSpriteSizeNormal=function(){return"normal bir boyutu"},c.setSpriteSizeLarge=function(){return"büyük bir boyuta"},c.setSpriteSizeVeryLarge=function(){return"çok büyük bir boyuta"},c.setSpriteSizeTooltip=function(){return"Oyuncu boyutunu ayarlama"},c.setSpriteSpeedRandom=function(){return"rastgele bir hıza"},c.setSpriteSpeedVerySlow=function(){return"çok yavaş bir hıza"},c.setSpriteSpeedSlow=function(){return"yavaş bir hıza"},c.setSpriteSpeedNormal=function(){return"normal bir hıza"},c.setSpriteSpeedFast=function(){return"süratli bir hıza"},c.setSpriteSpeedVeryFast=function(){return"çok süratli bir hıza"},c.setSpriteSpeedTooltip=function(){return"Bir aktörün hızını ayarlar"},c.setSpriteZombie=function(){return"bir zombi resmine"},c.shareStudioTwitter=function(){return"Yaptığım hikayeye göz atın. @codeorg ile kendim yazdım"},c.shareGame=function(){return"hikayeni paylaş:"},c.showTitleScreen=function(){return"ekran başlığını göster"},c.showTitleScreenTitle=function(){return"başlık"},c.showTitleScreenText=function(){return"metin"},c.showTSDefTitle=function(){return"başlık tipi burada"},c.showTSDefText=function(){return"yazı tipi burada"},c.showTitleScreenTooltip=function(){return"İlişkili başlık ve metin içeren bir başlık ekranı göster."},c.setSprite=function(){return"ayarla"},c.setSpriteN=function(a){return"ayarla aktör "+v(a,"spriteIndex")},c.soundCrunch=function(){return"çatlak"},c.soundGoal1=function(){return"hedef 1"},c.soundGoal2=function(){return"hedef 2"},c.soundHit=function(){return"çarpma"},c.soundLosePoint=function(){return"puan kaybetme"},c.soundLosePoint2=function(){return"puan kaybetme 2"},c.soundRetro=function(){return"tersine"},c.soundRubber=function(){return"kauçuk"},c.soundSlap=function(){return"tokat"},c.soundWinPoint=function(){return"puan kazan"},c.soundWinPoint2=function(){return"puan kazanma 2"},c.soundWood=function(){return"ahşap"},c.speed=function(){return"hız"},c.stopSprite=function(){return"dur"},c.stopSpriteN=function(a){return"durdur aktör "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Aktörün hareketini durdurur."},c.throwSprite=function(){return"fırlat"},c.throwSpriteN=function(a){return"aktör "+v(a,"spriteIndex")+" fırlat"},c.throwTooltip=function(){return"Belirlenen aktör atılacak cismi fırlatır."},c.vanish=function(){return"kaybol"},c.vanishActorN=function(a){return"kaybol aktör "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Aktör kaybolur."},c.waitFor=function(){return"için bekle"},c.waitSeconds=function(){return"saniye"},c.waitForClick=function(){return"tıklamak için bekle"},c.waitForRandom=function(){return"rastgele için bekle"},c.waitForHalfSecond=function(){return"yarım saniye bekleyin"},c.waitFor1Second=function(){return"1 saniye bekleyin"},c.waitFor2Seconds=function(){return"2 saniye bekleyin"},c.waitFor5Seconds=function(){return"5 saniye bekleyin"},c.waitFor10Seconds=function(){return"10 saniye bekleyin"},c.waitParamsTooltip=function(){return"Belirtilen saniye kadar bekler, ya da tıklamaya kadar beklemesi için 0 kullanın."},c.waitTooltip=function(){return"Bir tıklama oluşana kadar veya belirtilen zaman kadar bekler."},c.whenArrowDown=function(){return"aşağı ok"},c.whenArrowLeft=function(){return"sol ok"},c.whenArrowRight=function(){return"sağ ok"},c.whenArrowUp=function(){return"yukarı ok"},c.whenArrowTooltip=function(){return"Belirtilen ok tuşuna basıldığında aşağıdaki eylemleri yürütür."},c.whenDown=function(){return"aşağı oka basıldığında"},c.whenDownTooltip=function(){return"Aşağı oka basıldığında, aşağıdaki işlemleri yürüt."},c.whenGameStarts=function(){return"hikaye başlarken"},c.whenGameStartsTooltip=function(){return"Hikaye başladığında aşağıda eylemleri yürüt."},c.whenLeft=function(){return"sol oka basıldığında"},c.whenLeftTooltip=function(){return"Sol oka basıldığında, aşağıdaki işlemleri yürüt."},c.whenRight=function(){return"sağ oka basıldığında"},c.whenRightTooltip=function(){return"Sağ oka basıldığında, aşağıdaki işlemleri yürüt."},c.whenSpriteClicked=function(){return"aktör tıklandığında"},c.whenSpriteClickedN=function(a){return"aktör "+v(a,"spriteIndex")+" e tıkladığında"},c.whenSpriteClickedTooltip=function(){return"Aktör tıklandığında aşağıdaki eylemleri yürüt."},c.whenSpriteCollidedN=function(a){return"Aktör "+v(a,"spriteIndex")+" zamanında"},c.whenSpriteCollidedTooltip=function(){return"Bir aktör başka bir aktöre dokunduğunda aşağıda eylemleri yürüt."},c.whenSpriteCollidedWith=function(){return"dokunur"},c.whenSpriteCollidedWithN=function(a){return"dokunur aktör "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"alt kenara dokunur"},c.whenSpriteCollidedWithLeftEdge=function(){return"sol kenara dokunur"},c.whenSpriteCollidedWithRightEdge=function(){return"sağ kenara dokunur"},c.whenSpriteCollidedWithTopEdge=function(){return"üst kenara dokunur"},c.whenUp=function(){return"yukarı oka basıldığında"},c.whenUpTooltip=function(){return"Yukarı ok tuşu basıldığında aşağıdaki eylemleri yürüt."},c.yes=function(){return"Evet"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1]; if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/uk_ua/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/uk_ua/common":40,"../../locale/uk_ua/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/uk_ua/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/uk_ua/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/uk_ua/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/uk_ua/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/uk_ua/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/uk_ua/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/uk_ua/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/uk_ua/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/uk_ua/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/uk_ua/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/uk_ua/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/uk_ua/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.uk=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.and=function(){return"і"},c.blocklyMessage=function(){return"Блоклі"},c.catActions=function(){return"Дії"},c.catColour=function(){return"Колір"},c.catLogic=function(){return"Логіка"},c.catLists=function(){return"Списки"},c.catLoops=function(){return"Цикли"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Функції"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Змінні"},c.codeTooltip=function(){return"Див. згенерований код JavaScript."},c.continue=function(){return"Далі"},c.dialogCancel=function(){return"Скасувати"},c.dialogOK=function(){return"Гаразд"},c.directionNorthLetter=function(){return"Пн"},c.directionSouthLetter=function(){return"Пд"},c.directionEastLetter=function(){return"Сх"},c.directionWestLetter=function(){return"Зх"},c.end=function(){return"кінець"},c.emptyBlocksErrorMsg=function(){return'Блоки "Повторити" та "Якщо" повинні містити інші блоки. Переконайтесь, що внутрішній блок належно розміщений всередині зовнішнього.'},c.emptyFunctionBlocksErrorMsg=function(){return"Для функціонування цей блок повинен містити інші блоки."},c.extraTopBlocks=function(){return"У вас є додаткові блоки, які не прив'язані до жодного блоку подій."},c.finalStage=function(){return"Вітання! Завершено останній етап."},c.finalStageTrophies=function(a){return"Вітання! Ви завершили останній етап і виграли "+p(a,"numTrophies",0,"uk",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Готово"},c.generatedCodeInfo=function(a){return"Навіть кращі університети навчають програмуванню на основі блоків (наприклад, "+v(a,"berkeleyLink")+" "+v(a,"harvardLink")+"). Але всередині ті блоки, які ви щойно склали, можуть показуватись у JavaScript, найпоширенішій мові програмування:"},c.hashError=function(){return"Шкода, але '%1' не відповідає жодній збереженій програмі."},c.help=function(){return"Допомога"},c.hintTitle=function(){return"Підказка:"},c.jump=function(){return"стрибок"},c.levelIncompleteError=function(){return"Використано усі необхідні типи блоків, але у неправильному порядку."},c.listVariable=function(){return"список"},c.makeYourOwnFlappy=function(){return"Створити свою власну гру в Пурха (Flappy Game)"},c.missingBlocksErrorMsg=function(){return"Щоб розв'язати завдання, спробуйте один або кілька блоків нижче."},c.nextLevel=function(a){return"Вітання! Завершено завдання "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Вітання! Ви завершили завдання "+v(a,"puzzleNumber")+" та виграли "+p(a,"numTrophies",0,"uk",{one:"трофей",other:n(a,"numTrophies")+" трофеїв"})+"."},c.nextStage=function(a){return"Вітаємо! Ви завершили "+v(a,"stageName")+"." },c.nextStageTrophies=function(a){return"Вітаємо! Ви завершили етап "+v(a,"stageName")+" та виграли "+p(a,"numTrophies",0,"uk",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"Вітаємо! Ви завершили завдання "+v(a,"puzzleNumber")+". (Проте, його можна було вирішити, використавши лише "+p(a,"numBlocks",0,"uk",{one:"1 блок",other:n(a,"numBlocks")+" блоки"})+".)"},c.numLinesOfCodeWritten=function(a){return"Ви щойно написали "+p(a,"numLines",0,"uk",{one:"1 рядок",other:n(a,"numLines")+" рядків"})+" коду!"},c.play=function(){return"грати"},c.puzzleTitle=function(a){return"Завдання "+v(a,"puzzle_number")+" з "+v(a,"stage_total")},c.repeat=function(){return"повторити"},c.resetProgram=function(){return"Скидання"},c.runProgram=function(){return"Запустити"},c.runTooltip=function(){return"Запустити програму, що складається з блоків робочої області."},c.score=function(){return"рахунок"},c.showCodeHeader=function(){return"Показати код"},c.showGeneratedCode=function(){return"Показати код"},c.subtitle=function(){return"Візуальне середовище програмування"},c.textVariable=function(){return"текст"},c.tooFewBlocksMsg=function(){return"Ви використали усі необхідні типи блоків, але спробуйте використати більше таких блоків, щоб розв'язати завдання."},c.tooManyBlocksMsg=function(){return"Це завдання можна розв'язати, використавши блоків."},c.tooMuchWork=function(){return"Ви змусили мене попрацювати! Може спробуємо менше повторів?"},c.toolboxHeader=function(){return"Блоки"},c.openWorkspace=function(){return"Як це працює"},c.totalNumLinesOfCodeWritten=function(a){return"За весь час: "+p(a,"numLines",0,"uk",{one:"1 рядок",other:n(a,"numLines")+" рядків"})+" коду."},c.tryAgain=function(){return"Спробуй знову"},c.hintRequest=function(){return"Подивитись підказку"},c.backToPreviousLevel=function(){return"Повернутися до попереднього рівня"},c.saveToGallery=function(){return"Зберегти до вашої колекції"},c.savedToGallery=function(){return"Збережено в галерею!"},c.typeCode=function(){return"Запишіть нижче свій код JavaScript згідно із вказівками."},c.typeFuncs=function(){return"Доступні функції: %1"},c.typeHint=function(){return"Зверніть увагу: потрібні дужки та крапки з комою."},c.workspaceHeader=function(){return"Збирайте свої блоки тут: "},c.infinity=function(){return"Нескінченність"},c.rotateText=function(){return"Повертайте свій пристрій."},c.orientationLock=function(){return"Увімкніть блокування повороту у налаштування пристрою."},c.wantToLearn=function(){return"Хочете навчитись програмувати?"},c.watchVideo=function(){return"Переглянути відео"},c.when=function(){return"коли"},c.whenRun=function(){return"під час виконання"},c.tryHOC=function(){return"Спробуйте годину коду"},c.signup=function(){return"Підпишіться на вступний курс"},c.hintHeader=function(){return"Підказка:"},c.genericFeedback=function(){return"Подивіться, на чому ви зупинились і спробуйте виправити свою програму."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.uk=function(a){return a%10==1&&a%100!=11?"one":a%10>=2&&4>=a%10&&(12>a%100||a%100>14)&&a==Math.floor(a)?"few":a%10===0||a%10>=5&&9>=a%10||a%100>=11&&14>=a%100&&a==Math.floor(a)?"many":"other"},c.actor=function(){return"персонаж"},c.catActions=function(){return"Дії"},c.catControl=function(){return"Цикли"},c.catEvents=function(){return"Події"},c.catLogic=function(){return"Логіка"},c.catMath=function(){return"Математика"},c.catProcedures=function(){return"Функції"},c.catText=function(){return"Текст"},c.catVariables=function(){return"Змінні"},c.changeScoreTooltip=function(){return"Додати або видалити бал."},c.changeScoreTooltipK1=function(){return"Додати бал."},c.continue=function(){return"Далі"},c.decrementPlayerScore=function(){return"видалити бал"},c.defaultSayText=function(){return"Введіть тут"},c.emotion=function(){return"настрій"},c.finalLevel=function(){return"Вітання! Ви розв'язали останнє завдання."},c.hello=function(){return"привіт"},c.helloWorld=function(){return"Привіт, світе!"},c.incrementPlayerScore=function(){return"додати бал"},c.makeProjectileDisappear=function(){return"зникнути"},c.makeProjectileBounce=function(){return"відбитись"},c.makeProjectileBlueFireball=function(){return"зробити синю вогняну кулю"},c.makeProjectilePurpleFireball=function(){return"зробити фіолетову вогняну кулю"},c.makeProjectileRedFireball=function(){return"зробити червону вогняну кулю"},c.makeProjectileYellowHearts=function(){return"зробити жовті серця"},c.makeProjectilePurpleHearts=function(){return"зробити фіолетові серця"},c.makeProjectileRedHearts=function(){return"зробити червоні серця"},c.makeProjectileTooltip=function(){return"Змусити снаряд зникнути або відбитись при зіткненні."},c.makeYourOwn=function(){return"Створити власну історію"},c.moveDirectionDown=function(){return"вниз"},c.moveDirectionLeft=function(){return"ліворуч"},c.moveDirectionRight=function(){return"праворуч"},c.moveDirectionUp=function(){return"вгору"},c.moveDirectionRandom=function(){return"випадковий"},c.moveDistance25=function(){return"25 пікселів"},c.moveDistance50=function(){return"50 пікселів"},c.moveDistance100=function(){return"100 пікселів"},c.moveDistance200=function(){return"200 пікселів"},c.moveDistance400=function(){return"400 пікселів"},c.moveDistancePixels=function(){return"пікселі"},c.moveDistanceRandom=function(){return"Випадкові пікселі"},c.moveDistanceTooltip=function(){return"Переміщення персонажа на вказану відстань у вказаному напрямку."},c.moveSprite=function(){return"переміститись"},c.moveSpriteN=function(a){return"перемістити персонажа "+v(a,"spriteIndex")},c.moveDown=function(){return"рухатись вниз"},c.moveDownTooltip=function(){return"Перемістити персонаж вниз."},c.moveLeft=function(){return"рухатись ліворуч"},c.moveLeftTooltip=function(){return"Перемістити персонаж вліво."},c.moveRight=function(){return"рухатись праворуч"},c.moveRightTooltip=function(){return"Перемістити персонаж вправо."},c.moveUp=function(){return"рухатися вгору"},c.moveUpTooltip=function(){return"Рухати персонаж вгору."},c.moveTooltip=function(){return"Перемістити персонаж."},c.nextLevel=function(){return"Вітання! Ви розв'язали це завдання."},c.no=function(){return"Ні"},c.numBlocksNeeded=function(){return"Це завдання можна розв'язати за допомогою %1 блоків."},c.ouchExclamation=function(){return"Ой!"},c.playSoundCrunch=function(){return"грати звук хрускоту"},c.playSoundGoal1=function(){return"грати звук цілі 1"},c.playSoundGoal2=function(){return"грати звук цілі 2"},c.playSoundHit=function(){return"грати звук влучання"},c.playSoundLosePoint=function(){return"грати звук втрати балу"},c.playSoundLosePoint2=function(){return"грати звук втрати балу 2"},c.playSoundRetro=function(){return"грати звук ретро"},c.playSoundRubber=function(){return"грати звук гумки"},c.playSoundSlap=function(){return"грати звук ляпаса"},c.playSoundTooltip=function(){return"Відтворити обраний звук."},c.playSoundWinPoint=function(){return"грати звук переможного балу"},c.playSoundWinPoint2=function(){return"грати звук переможного балу 2"},c.playSoundWood=function(){return"грати звук деревини"},c.positionOutTopLeft=function(){return"до позиції вгору вліво"},c.positionOutTopRight=function(){return"до позиції вгору праворуч"},c.positionTopOutLeft=function(){return"до позиції вгору ззовні зліва"},c.positionTopLeft=function(){return"положення вгору ліворуч"},c.positionTopCenter=function(){return"положення вгору посередині"},c.positionTopRight=function(){return"положення вгору праворуч"},c.positionTopOutRight=function(){return"до позиції вгору ззовні справа"},c.positionMiddleLeft=function(){return"положення посередині зліва"},c.positionMiddleCenter=function(){return"положення посередині в центрі"},c.positionMiddleRight=function(){return"положення посередині праворуч"},c.positionBottomOutLeft=function(){return"до позиції вниз ззовні зліва"},c.positionBottomLeft=function(){return"положення внизу зліва"},c.positionBottomCenter=function(){return"положення внизу посередині"},c.positionBottomRight=function(){return"положення внизу справа"},c.positionBottomOutRight=function(){return"до позиції вниз ззовні справа"},c.positionOutBottomLeft=function(){return"до позиції вниз зліва"},c.positionOutBottomRight=function(){return"до позиції вниз справа"},c.positionRandom=function(){return"випадкове положення"},c.projectileBlueFireball=function(){return"синя вогняна куля"},c.projectilePurpleFireball=function(){return"фіолетова вогняна куля"},c.projectileRedFireball=function(){return"червона вогняна куля"},c.projectileYellowHearts=function(){return"жовті серця"},c.projectilePurpleHearts=function(){return"фіолетові серця"},c.projectileRedHearts=function(){return"червоні серця"},c.projectileRandom=function(){return"випадковий"},c.reinfFeedbackMsg=function(){return'Можна натиснути кнопку "Спробувати знову", щоб повернутися і пограти у свою гру.'},c.repeatForever=function(){return"повторювати завжди"},c.repeatDo=function(){return"робити"},c.repeatForeverTooltip=function(){return"Виконати дії з цього блоку кілька разів поки триває історія."},c.saySprite=function(){return"говорити"},c.saySpriteN=function(a){return"персонаж "+v(a,"spriteIndex")+" говорить"},c.saySpriteTooltip=function(){return"Показати бульбашку мовлення з відповідним текстом біля вказаного персонажу."},c.scoreText=function(a){return"Рахунок: "+v(a,"playerScore")},c.setBackground=function(){return"встановити тло"},c.setBackgroundRandom=function(){return"встановити випадкове тло"},c.setBackgroundBlack=function(){return"встановити чорне тло"},c.setBackgroundCave=function(){return"встановити тло печери"},c.setBackgroundCloudy=function(){return"встановити хмарне тло"},c.setBackgroundHardcourt=function(){return"встановити тло тенісного залу"},c.setBackgroundNight=function(){return"встановити нічне тло"},c.setBackgroundUnderwater=function(){return"встановити тло підводне"},c.setBackgroundCity=function(){return"встановити тло міста"},c.setBackgroundDesert=function(){return"встановити тло пустелі"},c.setBackgroundRainbow=function(){return"встановити тло веселки"},c.setBackgroundSoccer=function(){return"встановити тло футболу"},c.setBackgroundSpace=function(){return"встановити тло космосу"},c.setBackgroundTennis=function(){return"встановити тло тенісу"},c.setBackgroundWinter=function(){return"встановити тло зими"},c.setBackgroundTooltip=function(){return"Встановлює фонове зображення"},c.setScoreText=function(){return"встановити рахунок"},c.setScoreTextTooltip=function(){return"Задає текст, який буде відображатися в області балів."},c.setSpriteEmotionAngry=function(){return"до сердитого настрою"},c.setSpriteEmotionHappy=function(){return"до радісного настрою"},c.setSpriteEmotionNormal=function(){return"до нормального настрою"},c.setSpriteEmotionRandom=function(){return"до випадкового настрою"},c.setSpriteEmotionSad=function(){return"до сумного настрою"},c.setSpriteEmotionTooltip=function(){return"Встановлює настрій персонажа"},c.setSpriteAlien=function(){return"у зображення інопланетянина"},c.setSpriteBat=function(){return"у зображення кажана"},c.setSpriteBird=function(){return"у зображення птаха"},c.setSpriteCat=function(){return"у зображення кота"},c.setSpriteCaveBoy=function(){return"на зображення печерного хлопчика"},c.setSpriteCaveGirl=function(){return"на зображення печерної дівчинки"},c.setSpriteDinosaur=function(){return"у зображення динозавра"},c.setSpriteDog=function(){return"до зображення собаки"},c.setSpriteDragon=function(){return"до зображення дракона"},c.setSpriteGhost=function(){return"до зображення привида"},c.setSpriteHidden=function(){return"до прихованого зображення"},c.setSpriteHideK1=function(){return"приховати"},c.setSpriteKnight=function(){return"до зображення лицаря"},c.setSpriteMonster=function(){return"до зображення монстра"},c.setSpriteNinja=function(){return"до зображення ніндзя у масці"},c.setSpriteOctopus=function(){return"до зображення восьминога"},c.setSpritePenguin=function(){return"до зображення пінгвіна"},c.setSpritePirate=function(){return"до зображення пірата"},c.setSpritePrincess=function(){return"до зображення принцеси"},c.setSpriteRandom=function(){return"до випадкового зображення"},c.setSpriteRobot=function(){return"до зображення робота"},c.setSpriteShowK1=function(){return"показати"},c.setSpriteSpacebot=function(){return"до зображення космічного корабля"},c.setSpriteSoccerGirl=function(){return"на зображення дівчинки-футболістки"},c.setSpriteSoccerBoy=function(){return"на зображення хлопчика-футболіста"},c.setSpriteSquirrel=function(){return"до зображення білочки"},c.setSpriteTennisGirl=function(){return"на зображення дівчинки-тенісистки"},c.setSpriteTennisBoy=function(){return"на зображення хлопчика-тенісиста"},c.setSpriteUnicorn=function(){return"до зображення єдинорога"},c.setSpriteWitch=function(){return"до зображення відьми"},c.setSpriteWizard=function(){return"до зображення чарівника"},c.setSpritePositionTooltip=function(){return"Миттєво переміщує персонажа у вказане місце."},c.setSpriteK1Tooltip=function(){return"Показує або приховує вказаного персонажа."},c.setSpriteTooltip=function(){return"Встановлює зображення персонажа"},c.setSpriteSizeRandom=function(){return"до випадкового розміру"},c.setSpriteSizeVerySmall=function(){return"до дуже малого розміру"},c.setSpriteSizeSmall=function(){return"до малого розміру"},c.setSpriteSizeNormal=function(){return"до звичайного розміру"},c.setSpriteSizeLarge=function(){return"до великого розміру"},c.setSpriteSizeVeryLarge=function(){return"до дуже великого розміру"},c.setSpriteSizeTooltip=function(){return"Встановлює розмір персонажа"},c.setSpriteSpeedRandom=function(){return"до випадкової швидкості"},c.setSpriteSpeedVerySlow=function(){return"до дуже повільної швидкості"},c.setSpriteSpeedSlow=function(){return"до повільної швидкості"},c.setSpriteSpeedNormal=function(){return"до нормальної швидкості"},c.setSpriteSpeedFast=function(){return"до високої швидкості"},c.setSpriteSpeedVeryFast=function(){return"до дуже високої швидкості"},c.setSpriteSpeedTooltip=function(){return"Встановлює швидкість персонажа"},c.setSpriteZombie=function(){return"до зображення зомбі"},c.shareStudioTwitter=function(){return"Подивіться на гру, яку я зробив! Я написав її сам разом з @codeorg"},c.shareGame=function(){return"Поділися своєю історією:"},c.showTitleScreen=function(){return"показати титульний екран"},c.showTitleScreenTitle=function(){return"назва"},c.showTitleScreenText=function(){return"текст"},c.showTSDefTitle=function(){return"надрукуйте тут заголовок"},c.showTSDefText=function(){return"надрукуйте тут текст"},c.showTitleScreenTooltip=function(){return"Показати титульний екран з відповідним заголовком і текстом."},c.setSprite=function(){return"встановити"},c.setSpriteN=function(a){return"встановити персонажа "+v(a,"spriteIndex")},c.soundCrunch=function(){return"хрускіт"},c.soundGoal1=function(){return"ціль 1"},c.soundGoal2=function(){return"ціль 2"},c.soundHit=function(){return"удар"},c.soundLosePoint=function(){return"втрата балу"},c.soundLosePoint2=function(){return"втрата балу 2"},c.soundRetro=function(){return"ретро"},c.soundRubber=function(){return"гума"},c.soundSlap=function(){return"ляпас"},c.soundWinPoint=function(){return"виграшний бал"},c.soundWinPoint2=function(){return"виграшний бал 2"},c.soundWood=function(){return"дерево"},c.speed=function(){return"швидкість"},c.stopSprite=function(){return"зупинити"},c.stopSpriteN=function(a){return"зупинити персонажа "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Зупинити рух персонажа."},c.throwSprite=function(){return"кидати"},c.throwSpriteN=function(a){return"персонаж "+v(a,"spriteIndex")+" кидає"},c.throwTooltip=function(){return"Кидати снаряд від вказаного актора."},c.vanish=function(){return"зникнути"},c.vanishActorN=function(a){return"зникнути персонажу "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Персонаж зникає."},c.waitFor=function(){return"чекати на"},c.waitSeconds=function(){return"секунди"},c.waitForClick=function(){return"чекати на клік"},c.waitForRandom=function(){return"чекати випадковий час"},c.waitForHalfSecond=function(){return"чекати півсекунди"},c.waitFor1Second=function(){return"чекати 1 секунду"},c.waitFor2Seconds=function(){return"чекати 2 секунди"},c.waitFor5Seconds=function(){return"чекати 5 секунд"},c.waitFor10Seconds=function(){return"чекати 10 секунд"},c.waitParamsTooltip=function(){return"Очікування заданої кількості секунд або задайте нуль, щоб чекати, поки не відбудеться клік."},c.waitTooltip=function(){return"Очікувати визначений період часу, або до клацання."},c.whenArrowDown=function(){return"стрілка вниз"},c.whenArrowLeft=function(){return"стрілка ліворуч"},c.whenArrowRight=function(){return"стрілка праворуч"},c.whenArrowUp=function(){return"стрілка вгору"},c.whenArrowTooltip=function(){return"Виконання дій, поданих нижче, коли натиснута відповідна клавіша стрілки."},c.whenDown=function(){return"коли стрілка вниз"},c.whenDownTooltip=function(){return"Виконати дії, подані нижче, при натисненні клавіші стрілка вниз."},c.whenGameStarts=function(){return"коли історія починається"},c.whenGameStartsTooltip=function(){return"Виконання дій, поданих нижче, коли історія починається."},c.whenLeft=function(){return"коли стрілка вліво"},c.whenLeftTooltip=function(){return"Виконати дії, подані нижче, при натисненні клавіші стрілка вліво."},c.whenRight=function(){return"коли стрілка вправо"},c.whenRightTooltip=function(){return"Виконати дії, подані нижче, при натисненні клавіші стрілка вправо."},c.whenSpriteClicked=function(){return"коли персонаж клацнули"},c.whenSpriteClickedN=function(a){return"коли клацнули персонажа "+v(a,"spriteIndex")},c.whenSpriteClickedTooltip=function(){return"Виконати дії, подані нижче, коли клацнули персонаж."},c.whenSpriteCollidedN=function(a){return"коли персонаж "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Виконати дії, подані нижче, коли персонаж торкається іншого персонажу."},c.whenSpriteCollidedWith=function(){return"торкається"},c.whenSpriteCollidedWithN=function(a){return"торкається персонажа "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"торкається синьої вогняної кулі"},c.whenSpriteCollidedWithPurpleFireball=function(){return"торкається фіолетової вогняної кулі"},c.whenSpriteCollidedWithRedFireball=function(){return"торкається червоної вогняної кулі"},c.whenSpriteCollidedWithYellowHearts=function(){return"торкається жовтих сердець"},c.whenSpriteCollidedWithPurpleHearts=function(){return"торкається фіолетових сердець"},c.whenSpriteCollidedWithRedHearts=function(){return"торкається червоних сердець"},c.whenSpriteCollidedWithBottomEdge=function(){return"торкається нижнього краю"},c.whenSpriteCollidedWithLeftEdge=function(){return"торкається лівого краю"},c.whenSpriteCollidedWithRightEdge=function(){return"торкається правого краю"},c.whenSpriteCollidedWithTopEdge=function(){return"торкається верхнього краю"},c.whenUp=function(){return"коли стрілка вгору"},c.whenUpTooltip=function(){return"Виконати дії, подані нижче, при натисненні клавіші стрілка вгору."},c.yes=function(){return"Так"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring"); d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/ur_pk/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/ur_pk/common":40,"../../locale/ur_pk/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ur_pk/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ur_pk/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/ur_pk/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/ur_pk/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/ur_pk/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ur_pk/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ur_pk/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ur_pk/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/ur_pk/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ur_pk/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/ur_pk/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/ur_pk/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.ur=function(a){return 1===a?"one":"other"},c.and=function(){return"اور"},c.blocklyMessage=function(){return"Blockly"},c.catActions=function(){return"Actions"},c.catColour=function(){return"Colour"},c.catLogic=function(){return"Logic"},c.catLists=function(){return"Lists"},c.catLoops=function(){return"Loops"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.codeTooltip=function(){return"See generated JavaScript code."},c.continue=function(){return"Continue"},c.dialogCancel=function(){return"Cancel"},c.dialogOK=function(){return"OK"},c.directionNorthLetter=function(){return"N"},c.directionSouthLetter=function(){return"S"},c.directionEastLetter=function(){return"E"},c.directionWestLetter=function(){return"W"},c.end=function(){return"end"},c.emptyBlocksErrorMsg=function(){return'The "Repeat" or "If" block needs to have other blocks inside it to work. Make sure the inner block fits properly inside the containing block.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"You have extra blocks that aren't attached to an event block."},c.finalStage=function(){return"Congratulations! You have completed the final stage."},c.finalStageTrophies=function(a){return"Congratulations! You have completed the final stage and won "+p(a,"numTrophies",0,"ur",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(){return"The blocks for your program can also be represented in JavaScript, the world's most widely adopted programming language:"},c.hashError=function(){return"Sorry, '%1' doesn't correspond with any saved program."},c.help=function(){return"Help"},c.hintTitle=function(){return"Hint:"},c.jump=function(){return"jump"},c.levelIncompleteError=function(){return"You are using all of the necessary types of blocks but not in the right way."},c.listVariable=function(){return"list"},c.makeYourOwnFlappy=function(){return"Make Your Own Flappy Game"},c.missingBlocksErrorMsg=function(){return"Try one or more of the blocks below to solve this puzzle."},c.nextLevel=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+" and won "+p(a,"numTrophies",0,"ur",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.nextStage=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+"."},c.nextStageTrophies=function(a){return"Congratulations! You completed Stage "+v(a,"stageNumber")+" and won "+p(a,"numTrophies",0,"ur",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"." },c.numBlocksNeeded=function(a){return"Congratulations! You completed Puzzle "+v(a,"puzzleNumber")+". (However, you could have used only "+p(a,"numBlocks",0,"ur",{one:"1 block",other:n(a,"numBlocks")+" blocks"})+".)"},c.numLinesOfCodeWritten=function(a){return"You just wrote "+p(a,"numLines",0,"ur",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code!"},c.play=function(){return"play"},c.puzzleTitle=function(a){return"Puzzle "+v(a,"puzzle_number")+" of "+v(a,"stage_total")},c.repeat=function(){return"دوبارہ"},c.resetProgram=function(){return"Reset"},c.runProgram=function(){return"Run Program"},c.runTooltip=function(){return"Run the program defined by the blocks in the workspace."},c.score=function(){return"score"},c.showCodeHeader=function(){return"Show Code"},c.showGeneratedCode=function(){return"Show code"},c.subtitle=function(){return"a visual programming environment"},c.textVariable=function(){return"text"},c.tooFewBlocksMsg=function(){return"You are using all of the necessary types of blocks, but try using more of these types of blocks to complete this puzzle."},c.tooManyBlocksMsg=function(){return"This puzzle can be solved with blocks."},c.tooMuchWork=function(){return"You made me do a lot of work! Could you try repeating fewer times?"},c.toolboxHeader=function(){return"Blocks"},c.openWorkspace=function(){return"How It Works"},c.totalNumLinesOfCodeWritten=function(a){return"All-time total: "+p(a,"numLines",0,"ur",{one:"1 line",other:n(a,"numLines")+" lines"})+" of code."},c.tryAgain=function(){return"Try again"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"Back to previous level"},c.saveToGallery=function(){return"Save to your gallery"},c.savedToGallery=function(){return"Saved to your gallery!"},c.typeCode=function(){return"Type your JavaScript code below these instructions."},c.typeFuncs=function(){return"Available functions:%1"},c.typeHint=function(){return"Note that the parentheses and semicolons are required."},c.workspaceHeader=function(){return"Assemble your blocks here: "},c.infinity=function(){return"Infinity"},c.rotateText=function(){return"Rotate your device."},c.orientationLock=function(){return"Turn off orientation lock in device settings."},c.wantToLearn=function(){return"Want to learn to code?"},c.watchVideo=function(){return"Watch the Video"},c.when=function(){return"when"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"Try the Hour of Code"},c.signup=function(){return"Sign up for the intro course"},c.hintHeader=function(){return"Here's a tip:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.ur=function(a){return 1===a?"one":"other"},c.actor=function(){return"actor"},c.catActions=function(){return"Actions"},c.catControl=function(){return"Loops"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logic"},c.catMath=function(){return"Math"},c.catProcedures=function(){return"Functions"},c.catText=function(){return"Text"},c.catVariables=function(){return"Variables"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Continue"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Congratulations! You have solved the final puzzle."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"increment player score"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"بےترتیب"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"pixels"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"move down"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"move left"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"move right"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"move up"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Congratulations! You have completed this puzzle."},c.no=function(){return"No"},c.numBlocksNeeded=function(){return"This puzzle can be solved with %1 blocks."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return"play crunch sound"},c.playSoundGoal1=function(){return"play goal 1 sound"},c.playSoundGoal2=function(){return"play goal 2 sound"},c.playSoundHit=function(){return"play hit sound"},c.playSoundLosePoint=function(){return"play lose point sound"},c.playSoundLosePoint2=function(){return"play lose point 2 sound"},c.playSoundRetro=function(){return"play retro sound"},c.playSoundRubber=function(){return"play rubber sound"},c.playSoundSlap=function(){return"play slap sound"},c.playSoundTooltip=function(){return"Play a sound."},c.playSoundWinPoint=function(){return"play win point sound"},c.playSoundWinPoint2=function(){return"play win point 2 sound"},c.playSoundWood=function(){return"play wood sound"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"بےترتیب"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"do"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Score: "+v(a,"playerScore")+" : "+v(a,"opponentScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Sets the background image"},c.setScoreText=function(){return"set score"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"text"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"set"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"crunch"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"when Down arrow"},c.whenDownTooltip=function(){return"Execute the actions below when the Down arrow button is pressed."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"when Left arrow"},c.whenLeftTooltip=function(){return"Execute the actions below when the Left arrow button is pressed."},c.whenRight=function(){return"when Right arrow"},c.whenRightTooltip=function(){return"Execute the actions below when the Right arrow button is pressed."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"when Up arrow"},c.whenUpTooltip=function(){return"Execute the actions below when the Up arrow button is pressed."},c.yes=function(){return"Yes"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||""; var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/vi_vn/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/vi_vn/common":40,"../../locale/vi_vn/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/vi_vn/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/vi_vn/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/vi_vn/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/vi_vn/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/vi_vn/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/vi_vn/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/vi_vn/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/vi_vn/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/vi_vn/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/vi_vn/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/vi_vn/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/vi_vn/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.vi=function(){return"other"},c.and=function(){return"và"},c.blocklyMessage=function(){return"Mảnh ghép"},c.catActions=function(){return"hành động"},c.catColour=function(){return"màu sắc"},c.catLogic=function(){return"Logic"},c.catLists=function(){return"Danh sách"},c.catLoops=function(){return"Vòng lặp"},c.catMath=function(){return"Thuật toán"},c.catProcedures=function(){return"Chức năng"},c.catText=function(){return"văn bản"},c.catVariables=function(){return"Các biến"},c.codeTooltip=function(){return'Xem mã "JavaScript" đã được tạo ra.'},c.continue=function(){return"Tiếp tục"},c.dialogCancel=function(){return"Huỷ"},c.dialogOK=function(){return"Đồng ý"},c.directionNorthLetter=function(){return"Bắc"},c.directionSouthLetter=function(){return"Nam"},c.directionEastLetter=function(){return"Đông"},c.directionWestLetter=function(){return"Tây"},c.end=function(){return"kết thúc"},c.emptyBlocksErrorMsg=function(){return'Miếng ghép được "Lặp lại" hay "Nếu" cần có những miếng ghép bên trong để hoạt động. Đảm bảo là miếng gạch đó khớp hoàn toàn phần ở trong của miếng gạch kia.'},c.emptyFunctionBlocksErrorMsg=function(){return"Chức năng của block cần phải có block khác bên trong để khiến nó hoạt động."},c.extraTopBlocks=function(){return"Bạn có khối phụ không gắn liền với một sự kiện khối."},c.finalStage=function(){return"Chúc mừng. Bạn vừa hoàn thành xong bước cuối cùng."},c.finalStageTrophies=function(a){return"Chúc mừng! Bạn vừa hoàn thành bước cuối cùng và dành danh hiệu. "+v(a,"numTrophies")+" nhiều."},c.finish=function(){return"Hoàn Thành"},c.generatedCodeInfo=function(a){return"Ngay cả các trường đại học giảng dạy dựa trên block- mã hóa (ví dụ: "+v(a,"berkeleyLink")+" "+v(a,"harvardLink")+"). Tuy nhiên, dưới mui xe, các khối bạn đã lắp ráp có thể cũng được hiển thị trong JavaScript, phần lớn của thế giới rộng rãi sử dụng mã hóa ngôn ngữ:"},c.hashError=function(){return"Xin lỗi, '%1' không tương ứng với bất kì chương trình đã lưu."},c.help=function(){return"Trợ Giúp"},c.hintTitle=function(){return"Gợi ý:"},c.jump=function(){return"nhảy/cú nhảy"},c.levelIncompleteError=function(){return"Bạn đã dùng tất cả các khối cần thiết, nhưng không đúng cách."},c.listVariable=function(){return"danh sách"},c.makeYourOwnFlappy=function(){return"Tạo lấy một bản Flappy Bird của riêng bạn"},c.missingBlocksErrorMsg=function(){return"Thử dùng một hoặc nhiều khối bên dưới để giải quyết trò này."},c.nextLevel=function(a){return"Chúc mừng! Bạn đã hoàn thành trò số "+v(a,"puzzleNumber")+"."},c.nextLevelTrophies=function(a){return"Chúc mừng! Bạn đã hoàn thành Câu đố "+v(a,"puzzleNumber")+" và chiến thắng "+v(a,"numTrophies")+"."},c.nextStage=function(a){return"Chúc mừng! Bạn đã hoàn thành xong "+v(a,"stageName")+"."},c.nextStageTrophies=function(a){return"Chúc mừng! Bạn đã vượt qua vòng "+v(a,"stageNumber")+" và giành được "+p(a,"numTrophies",0,"vi",{one:"một danh hiệu",other:n(a,"numTrophies")+" danh hiệu"})+"." },c.numBlocksNeeded=function(a){return"Chúc mừng! Bạn đã hoàn thành câu đố "+v(a,"puzzleNumber")+". Nhưng bạn thật sự chỉ cần "+v(a,"numBlocks")+" khối thôi ."},c.numLinesOfCodeWritten=function(a){return"Bạn vừa mới viết "+p(a,"numLines",0,"vi",{one:"1 dòng",other:n(a,"numLines")+" dòng"})+" mã!"},c.play=function(){return"Bắt đầu chơi"},c.puzzleTitle=function(a){return"Câu đố thứ "+v(a,"puzzle_number")+" trong số "+v(a,"stage_total")+" câu"},c.repeat=function(){return"lặp lại"},c.resetProgram=function(){return"Thiết lập lại"},c.runProgram=function(){return"Chạy"},c.runTooltip=function(){return"Chạy chương trình được thiết kế bởi các khối lệnh trong khung làm việc."},c.score=function(){return"Ghi điểm/điểm số"},c.showCodeHeader=function(){return"Xem mã"},c.showGeneratedCode=function(){return"Xem mã"},c.subtitle=function(){return"một môi trường lập trình trực quan"},c.textVariable=function(){return"văn bản"},c.tooFewBlocksMsg=function(){return"Bạn đang sử dụng tất cả các loại khối lệnh cần thiết, nhưng hãy thử sử dụng các loại khối lệnh khác để hoàn thành câu đố."},c.tooManyBlocksMsg=function(){return"Câu đố này có thể được giải quyết với khối lệnh."},c.tooMuchWork=function(){return"Bạn làm tôi phải làm quá nhiều việc! Bạn làm ơn thử làm cho nó ít hơn được không?"},c.toolboxHeader=function(){return"Các khối lệnh"},c.openWorkspace=function(){return"Hoạt động ra sao"},c.totalNumLinesOfCodeWritten=function(a){return"Thời gian tổng cộng: "+p(a,"numLines",0,"vi",{one:"1 dòng",other:n(a,"numLines")+" dòng"})+" của mã chương trình."},c.tryAgain=function(){return"Thử lại"},c.hintRequest=function(){return"Xem gợi ý"},c.backToPreviousLevel=function(){return"Chơi lại màn trước"},c.saveToGallery=function(){return"Lưu vào thư viện của bạn"},c.savedToGallery=function(){return"Lưu vào thư viện của bạn!"},c.typeCode=function(){return"Nhập mã JavaScript của bạn theo hướng dẫn bên dưới."},c.typeFuncs=function(){return"Các hàm có sẵn:%1"},c.typeHint=function(){return"Lưu ý rằng dấu ngoặc đơn và dấu chấm phẩy là bắt buộc."},c.workspaceHeader=function(){return"Lắp ráp các khối của bạn ở đây: "},c.infinity=function(){return"Vô cùng"},c.rotateText=function(){return"Xoay thiết bị của bạn."},c.orientationLock=function(){return"Tắt khóa hướng trong cài đặt thiết bị."},c.wantToLearn=function(){return"Bạn muốn học lập trình?"},c.watchVideo=function(){return"Xem Video"},c.when=function(){return"Khi nào"},c.whenRun=function(){return"Khi chạy"},c.tryHOC=function(){return"Học thử Hour of Code"},c.signup=function(){return"Đăng ký cho khóa học mở đầu"},c.hintHeader=function(){return"Đây là một số mẹo:"},c.genericFeedback=function(){return"Nhìn xem bằng cách nào bạn kết thúc và hãy cố gắng sửa chương trình của bạn."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.vi=function(){return"other"},c.actor=function(){return"actor"},c.catActions=function(){return"hành động"},c.catControl=function(){return"Vòng lặp"},c.catEvents=function(){return"Events"},c.catLogic=function(){return"Logic"},c.catMath=function(){return"Thuật toán"},c.catProcedures=function(){return"Hàm số"},c.catText=function(){return"văn bản"},c.catVariables=function(){return"Các biến"},c.changeScoreTooltip=function(){return"Add or remove a point to the score."},c.changeScoreTooltipK1=function(){return"Add a point to the score."},c.continue=function(){return"Tiếp tục"},c.decrementPlayerScore=function(){return"remove point"},c.defaultSayText=function(){return"type here"},c.emotion=function(){return"mood"},c.finalLevel=function(){return"Chúc mừng! Bạn đã giải quyết các câu đố cuối cùng."},c.hello=function(){return"hello"},c.helloWorld=function(){return"Hello World!"},c.incrementPlayerScore=function(){return"điểm"},c.makeProjectileDisappear=function(){return"disappear"},c.makeProjectileBounce=function(){return"bounce"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"Make the projectile that just collided disappear or bounce."},c.makeYourOwn=function(){return"Make Your Own Story"},c.moveDirectionDown=function(){return"down"},c.moveDirectionLeft=function(){return"left"},c.moveDirectionRight=function(){return"right"},c.moveDirectionUp=function(){return"up"},c.moveDirectionRandom=function(){return"bất kỳ"},c.moveDistance25=function(){return"25 pixels"},c.moveDistance50=function(){return"50 pixels"},c.moveDistance100=function(){return"100 pixels"},c.moveDistance200=function(){return"200 pixels"},c.moveDistance400=function(){return"400 pixels"},c.moveDistancePixels=function(){return"các điểm ảnh"},c.moveDistanceRandom=function(){return"random pixels"},c.moveDistanceTooltip=function(){return"Move a character a specific distance in the specified direction."},c.moveSprite=function(){return"move"},c.moveSpriteN=function(a){return"move actor "+v(a,"spriteIndex")},c.moveDown=function(){return"di chuyển xuống"},c.moveDownTooltip=function(){return"Move the paddle down."},c.moveLeft=function(){return"qua trái"},c.moveLeftTooltip=function(){return"Move the paddle to the left."},c.moveRight=function(){return"qua phải"},c.moveRightTooltip=function(){return"Move the paddle to the right."},c.moveUp=function(){return"di chuyển lên"},c.moveUpTooltip=function(){return"Move the paddle up."},c.moveTooltip=function(){return"Move a character."},c.nextLevel=function(){return"Chúc mừng! Bạn đã hoàn thành câu đố này."},c.no=function(){return"Không"},c.numBlocksNeeded=function(){return"Câu đố này có thể được giải quyết với %1 khối."},c.ouchExclamation=function(){return"Ouch!"},c.playSoundCrunch=function(){return'Phát âm thanh "lạo xạo"'},c.playSoundGoal1=function(){return"phát âm thanh ghi bàn 1"},c.playSoundGoal2=function(){return"phát âm thanh ghi bàn 2"},c.playSoundHit=function(){return"phát âm thanh va chạm"},c.playSoundLosePoint=function(){return"phát âm thanh mất điểm"},c.playSoundLosePoint2=function(){return"phát âm thanh mất điểm 2"},c.playSoundRetro=function(){return"phát âm thanh retro"},c.playSoundRubber=function(){return"phát âm thanh cao su"},c.playSoundSlap=function(){return"phát âm thanh slap"},c.playSoundTooltip=function(){return"Phát âm thanh tự chọn."},c.playSoundWinPoint=function(){return"phát âm thanh giành chiến thắng 1 điểm"},c.playSoundWinPoint2=function(){return"phát âm thanh giành chiến thắng 2 điểm"},c.playSoundWood=function(){return"phát âm thanh gỗ"},c.positionOutTopLeft=function(){return"to the above top left position"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"to the bottom center position"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"to the random position"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"bất kỳ"},c.reinfFeedbackMsg=function(){return'You can press the "Try again" button to go back to playing your story.'},c.repeatForever=function(){return"repeat forever"},c.repeatDo=function(){return"thực hiện"},c.repeatForeverTooltip=function(){return"Execute the actions in this block repeatedly while the story is running."},c.saySprite=function(){return"say"},c.saySpriteN=function(a){return"actor "+v(a,"spriteIndex")+" say"},c.saySpriteTooltip=function(){return"Pop up a speech bubble with the associated text from the specified character."},c.scoreText=function(a){return"Điểm: "+v(a,"playerScore")},c.setBackground=function(){return"set background"},c.setBackgroundRandom=function(){return"set random scene"},c.setBackgroundBlack=function(){return"set black background"},c.setBackgroundCave=function(){return"set cave background"},c.setBackgroundCloudy=function(){return"set cloudy background"},c.setBackgroundHardcourt=function(){return"set hardcourt scene"},c.setBackgroundNight=function(){return"set night background"},c.setBackgroundUnderwater=function(){return"set underwater background"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"Thiết lập hình nền"},c.setScoreText=function(){return"thiết lập điểm"},c.setScoreTextTooltip=function(){return"Sets the text to be displayed in the score area."},c.setSpriteEmotionAngry=function(){return"to a angry emotion"},c.setSpriteEmotionHappy=function(){return"to a happy emotion"},c.setSpriteEmotionNormal=function(){return"to a normal emotion"},c.setSpriteEmotionRandom=function(){return"to a random emotion"},c.setSpriteEmotionSad=function(){return"to a sad emotion"},c.setSpriteEmotionTooltip=function(){return"Sets the actor emotion"},c.setSpriteAlien=function(){return"to an alien image"},c.setSpriteBat=function(){return"to a bat image"},c.setSpriteBird=function(){return"to a bird image"},c.setSpriteCat=function(){return"to a cat image"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"to a dinosaur image"},c.setSpriteDog=function(){return"to a dog image"},c.setSpriteDragon=function(){return"to a dragon image"},c.setSpriteGhost=function(){return"to a ghost image"},c.setSpriteHidden=function(){return"to a hidden image"},c.setSpriteHideK1=function(){return"hide"},c.setSpriteKnight=function(){return"to a knight image"},c.setSpriteMonster=function(){return"to a monster image"},c.setSpriteNinja=function(){return"to a masked ninja image"},c.setSpriteOctopus=function(){return"to an octopus image"},c.setSpritePenguin=function(){return"to a penguin image"},c.setSpritePirate=function(){return"to a pirate image"},c.setSpritePrincess=function(){return"to a princess image"},c.setSpriteRandom=function(){return"to a random image"},c.setSpriteRobot=function(){return"to a robot image"},c.setSpriteShowK1=function(){return"show"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"to a squirrel image"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"to a unicorn image"},c.setSpriteWitch=function(){return"to a witch image"},c.setSpriteWizard=function(){return"to a wizard image"},c.setSpritePositionTooltip=function(){return"Instantly moves an actor to the specified location."},c.setSpriteK1Tooltip=function(){return"Shows or hides the specified actor."},c.setSpriteTooltip=function(){return"Sets the character image"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"to a random speed"},c.setSpriteSpeedVerySlow=function(){return"to a very slow speed"},c.setSpriteSpeedSlow=function(){return"to a slow speed"},c.setSpriteSpeedNormal=function(){return"to a normal speed"},c.setSpriteSpeedFast=function(){return"to a fast speed"},c.setSpriteSpeedVeryFast=function(){return"to a very fast speed"},c.setSpriteSpeedTooltip=function(){return"Sets the speed of a character"},c.setSpriteZombie=function(){return"to a zombie image"},c.shareStudioTwitter=function(){return"Check out the story I made. I wrote it myself with @codeorg"},c.shareGame=function(){return"Share your story:"},c.showTitleScreen=function(){return"show title screen"},c.showTitleScreenTitle=function(){return"title"},c.showTitleScreenText=function(){return"văn bản"},c.showTSDefTitle=function(){return"type title here"},c.showTSDefText=function(){return"type text here"},c.showTitleScreenTooltip=function(){return"Show a title screen with the associated title and text."},c.setSprite=function(){return"đặt thành tố"},c.setSpriteN=function(a){return"set actor "+v(a,"spriteIndex")},c.soundCrunch=function(){return"khủng hoảng"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"stop"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"Stops an actor's movement."},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"wait for"},c.waitSeconds=function(){return"seconds"},c.waitForClick=function(){return"wait for click"},c.waitForRandom=function(){return"wait for random"},c.waitForHalfSecond=function(){return"wait for a half second"},c.waitFor1Second=function(){return"wait for 1 second"},c.waitFor2Seconds=function(){return"wait for 2 seconds"},c.waitFor5Seconds=function(){return"wait for 5 seconds"},c.waitFor10Seconds=function(){return"wait for 10 seconds"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"Waits for a specified amount of time or until a click occurs."},c.whenArrowDown=function(){return"down arrow"},c.whenArrowLeft=function(){return"left arrow"},c.whenArrowRight=function(){return"right arrow"},c.whenArrowUp=function(){return"up arrow"},c.whenArrowTooltip=function(){return"Execute the actions below when the specified arrow key is pressed."},c.whenDown=function(){return"Khi mũi tên chỉ xuống"},c.whenDownTooltip=function(){return"Thực hiện các thao tác dưới đây khi chìa khoá mũi tên chỉ xuống bật."},c.whenGameStarts=function(){return"when game starts"},c.whenGameStartsTooltip=function(){return"Execute the actions below when the game starts."},c.whenLeft=function(){return"Khi mũi tên chỉ bên trái"},c.whenLeftTooltip=function(){return"Thực hiện các thao tác dưới đây khi chìa khoá mũi tên chỉ bên trái bật."},c.whenRight=function(){return"Khi mũi tên chỉ bên phải"},c.whenRightTooltip=function(){return"Thực hiện các thao tác dưới đây khi chìa khoá mũi tên chỉ bên phải bật."},c.whenSpriteClicked=function(){return"when actor clicked"},c.whenSpriteClickedN=function(a){return"when actor "+v(a,"spriteIndex")+" clicked"},c.whenSpriteClickedTooltip=function(){return"Execute the actions below when a character is clicked."},c.whenSpriteCollidedN=function(a){return"when actor "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"Execute the actions below when a character touches another character."},c.whenSpriteCollidedWith=function(){return"touches"},c.whenSpriteCollidedWithN=function(a){return"touches actor "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"touches bottom edge"},c.whenSpriteCollidedWithLeftEdge=function(){return"touches left edge"},c.whenSpriteCollidedWithRightEdge=function(){return"touches right edge"},c.whenSpriteCollidedWithTopEdge=function(){return"touches top edge"},c.whenUp=function(){return"Khi mũi tên chỉ lên trên"},c.whenUpTooltip=function(){return"Thực hiện các thao tác dưới đây khi chìa khoá mũi tên chỉ lên bật."},c.yes=function(){return"Có"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1; for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/zh_cn/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/zh_cn/common":40,"../../locale/zh_cn/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_cn/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_cn/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/zh_cn/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/zh_cn/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/zh_cn/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_cn/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_cn/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_cn/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/zh_cn/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_cn/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_cn/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_cn/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.zh=function(){return"other"},c.and=function(){return"和"},c.blocklyMessage=function(){return"模块化"},c.catActions=function(){return"操作"},c.catColour=function(){return"颜色"},c.catLogic=function(){return"逻辑"},c.catLists=function(){return"列表"},c.catLoops=function(){return"循环"},c.catMath=function(){return"数学"},c.catProcedures=function(){return"函数"},c.catText=function(){return"文本"},c.catVariables=function(){return"变量"},c.codeTooltip=function(){return"请参见所生成的 JavaScript 代码。"},c.continue=function(){return"继续"},c.dialogCancel=function(){return"取消"},c.dialogOK=function(){return"确定"},c.directionNorthLetter=function(){return"北"},c.directionSouthLetter=function(){return"南"},c.directionEastLetter=function(){return"东"},c.directionWestLetter=function(){return"西"},c.end=function(){return"结束"},c.emptyBlocksErrorMsg=function(){return"“Repeat”或“If”模块需要其他的模块充填在里面才能工作。请确保在容器模块里填入了合适的模块。"},c.emptyFunctionBlocksErrorMsg=function(){return"这个函数块,需要有其他块在里面才能工作"},c.extraTopBlocks=function(){return"你有多余的块,这些块没有附加到任何的事件块。"},c.finalStage=function(){return"祝贺你 !您已完成最后一章。"},c.finalStageTrophies=function(a){return"祝贺你 !已完成最终章并赢得了 "+p(a,"numTrophies",0,"zh",{one:"1个奖杯",other:n(a,"numTrophies")+" 奖杯"})+"。"},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return"即使是顶级的大学教授基于块的编码(如。"+v(a,"berkeleyLink")+","+v(a,"harvardLink")+")。但是,你组装的模块也可以显示在JavaScript中,世界上最广泛使用的编程语言:\n"},c.hashError=function(){return"对不起,'%1' 并不对应任何已保存的程序。"},c.help=function(){return"帮助"},c.hintTitle=function(){return"提示:"},c.jump=function(){return"跳转"},c.levelIncompleteError=function(){return"你虽然把所有必要的模块都用上了,但是使用方法不对。"},c.listVariable=function(){return"列表"},c.makeYourOwnFlappy=function(){return"制作你自己的Flappy游戏吧"},c.missingBlocksErrorMsg=function(){return"尝试下面一个或多个模块来解开这个谜题。"},c.nextLevel=function(a){return"祝贺你 !完成了谜题 "+v(a,"puzzleNumber")+"。"},c.nextLevelTrophies=function(a){return"祝贺你 !完成了谜题 "+v(a,"puzzleNumber")+",并且赢得了"+p(a,"numTrophies",0,"zh",{one:"1个奖杯",other:n(a,"numTrophies")+" 奖杯"})+"."},c.nextStage=function(a){return"祝贺你 !您完成了 "+v(a,"stageName")+"。"},c.nextStageTrophies=function(a){return"Congratulations! You completed "+v(a,"stageName")+" and won "+p(a,"numTrophies",0,"zh",{one:"a trophy",other:n(a,"numTrophies")+" trophies"})+"."},c.numBlocksNeeded=function(a){return"祝贺你 !完成了谜题 "+v(a,"puzzleNumber")+"。(然而,你其实可以只使用"+p(a,"numBlocks",0,"zh",{one:"1个模块",other:n(a,"numBlocks")+" 模块"})+"。)"},c.numLinesOfCodeWritten=function(a){return"你刚刚写了"+p(a,"numLines",0,"zh",{one:"1行",other:n(a,"numLines")+" 行"})+" 的代码 !"},c.play=function(){return"玩"},c.puzzleTitle=function(a){return"第"+v(a,"stage_total")+"章的谜题 "+v(a,"puzzle_number")+" "},c.repeat=function(){return"重复"},c.resetProgram=function(){return"重置"},c.runProgram=function(){return"运行"},c.runTooltip=function(){return"运行你在工作区里由各种模块组装出的程序。"},c.score=function(){return"得分" },c.showCodeHeader=function(){return"显示代码"},c.showGeneratedCode=function(){return"显示代码"},c.subtitle=function(){return"一个可视化的编程环境"},c.textVariable=function(){return"文本"},c.tooFewBlocksMsg=function(){return"您正在使用所有必要类型的模块,但请尝试更多这些类型的模块来完成这个谜题。"},c.tooManyBlocksMsg=function(){return"可以使用 < x id = 'START_SPAN' / > < x id = 'END_SPAN' / > 模块来解决这个谜题。"},c.tooMuchWork=function(){return"你让我多做很多工作 !你可以尝试少重复几次吗?"},c.toolboxHeader=function(){return"模块"},c.openWorkspace=function(){return"它是如何工作的?"},c.totalNumLinesOfCodeWritten=function(a){return"全程统计: "+p(a,"numLines",0,"zh",{one:"1 行",other:n(a,"numLines")+" 行"})+"代码。"},c.tryAgain=function(){return"再次尝试"},c.hintRequest=function(){return"看提示"},c.backToPreviousLevel=function(){return"返回到上一级"},c.saveToGallery=function(){return"保存到您的画廊"},c.savedToGallery=function(){return"保存到您的画面场景"},c.typeCode=function(){return"在这些说明下面输入您的 JavaScript代码。"},c.typeFuncs=function(){return"可用功能:%1"},c.typeHint=function(){return"注意圆括号和分号是需要的。"},c.workspaceHeader=function(){return"在这里组装你的模块:"},c.infinity=function(){return"无限"},c.rotateText=function(){return"旋转您的设备。"},c.orientationLock=function(){return"关闭设置中的旋转锁定。"},c.wantToLearn=function(){return"想要学习如何写代码吗?"},c.watchVideo=function(){return"观看视频"},c.when=function(){return"当"},c.whenRun=function(){return"当运行时"},c.tryHOC=function(){return"来试试”编程一小时“项目!"},c.signup=function(){return"注册账号后参加简介课程"},c.hintHeader=function(){return"这里有一个提示:"},c.genericFeedback=function(){return"看你的程序时如何结束的,并尝试修复你的程序"}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.zh=function(){return"other"},c.actor=function(){return"男演员"},c.catActions=function(){return"行为"},c.catControl=function(){return"循环"},c.catEvents=function(){return"事件"},c.catLogic=function(){return"逻辑"},c.catMath=function(){return"数学"},c.catProcedures=function(){return"函数"},c.catText=function(){return"文本"},c.catVariables=function(){return"变量"},c.changeScoreTooltip=function(){return"添加或移走一个得分点。"},c.changeScoreTooltipK1=function(){return"添加一个得分点。"},c.continue=function(){return"继续"},c.decrementPlayerScore=function(){return"移动点"},c.defaultSayText=function(){return"在此处键入"},c.emotion=function(){return"心情"},c.finalLevel=function(){return"恭喜你!你完成了最后一个难题。"},c.hello=function(){return"你好"},c.helloWorld=function(){return"世界 您好!"},c.incrementPlayerScore=function(){return"得分点"},c.makeProjectileDisappear=function(){return"消失"},c.makeProjectileBounce=function(){return"反弹"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"使只是相撞的弹丸消失或反弹。"},c.makeYourOwn=function(){return"制作自己的故事"},c.moveDirectionDown=function(){return"向下"},c.moveDirectionLeft=function(){return"向左"},c.moveDirectionRight=function(){return"向右"},c.moveDirectionUp=function(){return"向上"},c.moveDirectionRandom=function(){return"随机"},c.moveDistance25=function(){return"25 像素"},c.moveDistance50=function(){return"50像素"},c.moveDistance100=function(){return"100像素"},c.moveDistance200=function(){return"200像素"},c.moveDistance400=function(){return"400像素"},c.moveDistancePixels=function(){return"像素"},c.moveDistanceRandom=function(){return"随机像素"},c.moveDistanceTooltip=function(){return"在指定的方向上移动一个特定的距离。"},c.moveSprite=function(){return"移动"},c.moveSpriteN=function(a){return"移动演员 "+v(a,"spriteIndex")},c.moveDown=function(){return"向下移动"},c.moveDownTooltip=function(){return"向下移动一个小人。"},c.moveLeft=function(){return"向左移动"},c.moveLeftTooltip=function(){return"向左移动一个小人。"},c.moveRight=function(){return"向右移动"},c.moveRightTooltip=function(){return"向右移动一个小人。"},c.moveUp=function(){return"向上移动"},c.moveUpTooltip=function(){return"向上移动一个小人。"},c.moveTooltip=function(){return"移动一个小人。"},c.nextLevel=function(){return"恭喜你!你解决了这个谜题。"},c.no=function(){return"不"},c.numBlocksNeeded=function(){return"这个谜题可以用%1个块解决。"},c.ouchExclamation=function(){return"哎哟 !"},c.playSoundCrunch=function(){return"播放吱嘎声"},c.playSoundGoal1=function(){return"播放目标 1 声音"},c.playSoundGoal2=function(){return"播放目标 2 的声音"},c.playSoundHit=function(){return"播放命中的声音"},c.playSoundLosePoint=function(){return"播放失去点数的声音"},c.playSoundLosePoint2=function(){return"播放失去点数2的声音"},c.playSoundRetro=function(){return"播放复古的声音。"},c.playSoundRubber=function(){return"播放橡胶的声音"},c.playSoundSlap=function(){return"播放巴掌的声音"},c.playSoundTooltip=function(){return"播放所选声音"},c.playSoundWinPoint=function(){return"播放赢得点数的声音"},c.playSoundWinPoint2=function(){return"播放赢得点数的声音2"},c.playSoundWood=function(){return"播放木的声音"},c.positionOutTopLeft=function(){return"到上述左上角的位置"},c.positionOutTopRight=function(){return"到上述右上角的位置"},c.positionTopOutLeft=function(){return"到左外侧顶部的位置"},c.positionTopLeft=function(){return"到顶部的左边位置"},c.positionTopCenter=function(){return"到顶部的中心位置"},c.positionTopRight=function(){return"到顶部的右边位置"},c.positionTopOutRight=function(){return"到右外侧顶部的位置"},c.positionMiddleLeft=function(){return"到中间的左边位置"},c.positionMiddleCenter=function(){return"到中间的中心位置"},c.positionMiddleRight=function(){return"到中间的右边位置"},c.positionBottomOutLeft=function(){return"到左外侧底部的位置"},c.positionBottomLeft=function(){return"到底部的左边位置"},c.positionBottomCenter=function(){return"到底部的中心位置"},c.positionBottomRight=function(){return"到底部的右边位置"},c.positionBottomOutRight=function(){return"到右外侧底部的位置"},c.positionOutBottomLeft=function(){return"到左侧底部下面的位置"},c.positionOutBottomRight=function(){return"到右侧底部下面的位置"},c.positionRandom=function(){return"到一个随机位置"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"随机"},c.reinfFeedbackMsg=function(){return"你可以按“重试”按钮来返回你的游戏"},c.repeatForever=function(){return"一直重复下去"},c.repeatDo=function(){return"做"},c.repeatForeverTooltip=function(){return"当故事在进行时,在此块中反复执行这个动作。"},c.saySprite=function(){return"说"},c.saySpriteN=function(a){return"演员"+v(a,"spriteIndex")+" 说"},c.saySpriteTooltip=function(){return"从特定的小人上弹出文字气泡,表达它说的话。"},c.scoreText=function(a){return"得分: "+v(a,"playerScore")},c.setBackground=function(){return"设置背景"},c.setBackgroundRandom=function(){return"设置随机背景"},c.setBackgroundBlack=function(){return"设置黑色背景"},c.setBackgroundCave=function(){return"设置洞穴的背景"},c.setBackgroundCloudy=function(){return"设置多云背景"},c.setBackgroundHardcourt=function(){return"设置硬地背景"},c.setBackgroundNight=function(){return"设置的夜背景"},c.setBackgroundUnderwater=function(){return"设置水下背景"},c.setBackgroundCity=function(){return"设置的城市背景"},c.setBackgroundDesert=function(){return"设置沙漠背景"},c.setBackgroundRainbow=function(){return"设置彩虹背景"},c.setBackgroundSoccer=function(){return"设置足球背景"},c.setBackgroundSpace=function(){return"设置空地背景"},c.setBackgroundTennis=function(){return"设置网球背景"},c.setBackgroundWinter=function(){return"设置冬天背景"},c.setBackgroundTooltip=function(){return"设置背景图案"},c.setScoreText=function(){return"设置得分"},c.setScoreTextTooltip=function(){return"设置得分区域中显示的文本。"},c.setSpriteEmotionAngry=function(){return"对愤怒的心情"},c.setSpriteEmotionHappy=function(){return"对快乐的心情"},c.setSpriteEmotionNormal=function(){return"对正常的心情"},c.setSpriteEmotionRandom=function(){return"对随机的心情"},c.setSpriteEmotionSad=function(){return"对伤心的心情"},c.setSpriteEmotionTooltip=function(){return"设置演员心情"},c.setSpriteAlien=function(){return"到外形人图片"},c.setSpriteBat=function(){return"出现一只蝙蝠的形象"},c.setSpriteBird=function(){return"出现一只鸟的形象"},c.setSpriteCat=function(){return"出现一只猫的形象"},c.setSpriteCaveBoy=function(){return"到山洞男孩图片"},c.setSpriteCaveGirl=function(){return"到山洞女孩图片"},c.setSpriteDinosaur=function(){return"出现一只恐龙的形象"},c.setSpriteDog=function(){return"出现一只狗的形象"},c.setSpriteDragon=function(){return"出现一条龙的形象"},c.setSpriteGhost=function(){return"到鬼魂图片"},c.setSpriteHidden=function(){return"到一个隐藏的图像\n"},c.setSpriteHideK1=function(){return"隐藏"},c.setSpriteKnight=function(){return"到骑士图片"},c.setSpriteMonster=function(){return"到怪物图片"},c.setSpriteNinja=function(){return"到蒙面忍者图片"},c.setSpriteOctopus=function(){return"出现一张八达通的图像"},c.setSpritePenguin=function(){return"出现一只企鹅的形象"},c.setSpritePirate=function(){return"到海盗图片"},c.setSpritePrincess=function(){return"到公主图片"},c.setSpriteRandom=function(){return"到一个随机的图像"},c.setSpriteRobot=function(){return"到机器人图片"},c.setSpriteShowK1=function(){return"显示"},c.setSpriteSpacebot=function(){return"到空间机器人图片"},c.setSpriteSoccerGirl=function(){return"到足球女孩图片"},c.setSpriteSoccerBoy=function(){return"到足球女孩图片"},c.setSpriteSquirrel=function(){return"出现一只松鼠的形象"},c.setSpriteTennisGirl=function(){return"到网球女孩图片"},c.setSpriteTennisBoy=function(){return"到网球男孩图片"},c.setSpriteUnicorn=function(){return"到麒麟图片"},c.setSpriteWitch=function(){return"呈现女巫形象"},c.setSpriteWizard=function(){return"出现一个向导形象"},c.setSpritePositionTooltip=function(){return"立即将小人移动到指定的位置。"},c.setSpriteK1Tooltip=function(){return"显示或隐藏特定的演员。"},c.setSpriteTooltip=function(){return"设置小人形象"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"到一个随机的速度"},c.setSpriteSpeedVerySlow=function(){return"到一个非常慢的速度"},c.setSpriteSpeedSlow=function(){return"到一个较慢的速度"},c.setSpriteSpeedNormal=function(){return"到一个普通的速度"},c.setSpriteSpeedFast=function(){return"到一个比较快的速度"},c.setSpriteSpeedVeryFast=function(){return"到一个非常快的速度"},c.setSpriteSpeedTooltip=function(){return"设置小人的速度"},c.setSpriteZombie=function(){return"到僵尸图片"},c.shareStudioTwitter=function(){return"看看我的故事。我用@codeorg自己写的\n"},c.shareGame=function(){return"分享您的故事:"},c.showTitleScreen=function(){return"显示标题屏幕"},c.showTitleScreenTitle=function(){return"标题"},c.showTitleScreenText=function(){return"文本"},c.showTSDefTitle=function(){return"在此处键入标题"},c.showTSDefText=function(){return"在此处键入文本"},c.showTitleScreenTooltip=function(){return"在一个标题屏幕显示有关的标题和文本。"},c.setSprite=function(){return"设置"},c.setSpriteN=function(a){return"设置演员 "+v(a,"spriteIndex")},c.soundCrunch=function(){return"紧缩"},c.soundGoal1=function(){return"目标 1"},c.soundGoal2=function(){return"目标 2"},c.soundHit=function(){return"命中"},c.soundLosePoint=function(){return"丢分"},c.soundLosePoint2=function(){return"失去2分"},c.soundRetro=function(){return"复古"},c.soundRubber=function(){return"橡胶"},c.soundSlap=function(){return"一巴掌"},c.soundWinPoint=function(){return"赢得1分"},c.soundWinPoint2=function(){return"赢得2分"},c.soundWood=function(){return"木材"},c.speed=function(){return"速度"},c.stopSprite=function(){return"停止"},c.stopSpriteN=function(a){return"停止演员 "+v(a,"spriteIndex")},c.stopTooltip=function(){return"停止一个小人的运动。"},c.throwSprite=function(){return"抛出"},c.throwSpriteN=function(a){return"演员 "+v(a,"spriteIndex")+" 抛出"},c.throwTooltip=function(){return"从特定的演员抛出一个抛出物"},c.vanish=function(){return"消失"},c.vanishActorN=function(a){return"消失的演员 "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"等待"},c.waitSeconds=function(){return" 秒"},c.waitForClick=function(){return"等待点击"},c.waitForRandom=function(){return"随机等待"},c.waitForHalfSecond=function(){return"等待半秒"},c.waitFor1Second=function(){return"等待 1 秒"},c.waitFor2Seconds=function(){return"等待 2 秒"},c.waitFor5Seconds=function(){return"等待 5 秒"},c.waitFor10Seconds=function(){return"等待 10 秒"},c.waitParamsTooltip=function(){return"Waits for a specified number of seconds or use zero to wait until a click occurs."},c.waitTooltip=function(){return"等待指定的时间长度或直到发生点击"},c.whenArrowDown=function(){return"向下箭头键"},c.whenArrowLeft=function(){return"向左的箭头"},c.whenArrowRight=function(){return"向右箭头"},c.whenArrowUp=function(){return"向上箭头键"},c.whenArrowTooltip=function(){return"当指定的方向键按下时,执行下面的操作"},c.whenDown=function(){return"当箭头键向下"},c.whenDownTooltip=function(){return"执行下面按向上箭头键时采取的行动。"},c.whenGameStarts=function(){return"当故事开始的时候"},c.whenGameStartsTooltip=function(){return"执行下面这个故事开始的时候行动。"},c.whenLeft=function(){return"当箭头向左"},c.whenLeftTooltip=function(){return"执行下面按向左箭头键时采取的行动。"},c.whenRight=function(){return"当箭头向右"},c.whenRightTooltip=function(){return"执行下面按向右箭头键时采取的行动。"},c.whenSpriteClicked=function(){return"小人被点击时"},c.whenSpriteClickedN=function(a){return"演员 "+v(a,"spriteIndex")+" 被单击时"},c.whenSpriteClickedTooltip=function(){return"当小人被点击时,执行下面的动作。"},c.whenSpriteCollidedN=function(a){return"演员 "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"当一个小人触碰到另一个小人时,执行下面的动作。"},c.whenSpriteCollidedWith=function(){return"接近"},c.whenSpriteCollidedWithN=function(a){return"接近演员 "+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"接近地步边缘"},c.whenSpriteCollidedWithLeftEdge=function(){return"接近左边缘"},c.whenSpriteCollidedWithRightEdge=function(){return"接近有边缘"},c.whenSpriteCollidedWithTopEdge=function(){return"接近上边缘"},c.whenUp=function(){return"当箭头向上"},c.whenUpTooltip=function(){return"执行下面按向上箭头键时采取的行动。"},c.yes=function(){return"对"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e;else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c }if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;eBlocklyApps.IDEAL_BLOCK_NUM?i.TOO_MANY_BLOCKS_FAIL:i.ALL_PASS:BlocklyApps.IDEAL_BLOCK_NUM&&1/0!==BlocklyApps.IDEAL_BLOCK_NUM&&e'),k.titles){var l=Object.keys(k.titles);for(b=0;b',k.titles[c],"")}if(k.values){var m=Object.keys(k.values);for(b=0;b',k.values[c],"")}k.extra&&d.push(k.extra),d.push(""),(j+1)%i===0?(f+=h,e=0):e+=g}}return d.join("")}},{"../locale/zh_tw/common":40,"./codegen":6,"./constants":7,"./dom":8,"./templates/buttons.html":28,"./templates/code.html":29,"./templates/readonly.html":34,"./templates/sharing.html":35,"./templates/showCode.html":36,"./templates/trophy.html":37,"./utils":38}],10:[function(a,b){!function(a,c){"use strict";function d(){e.READY||(t.determineEventTypes(),s.each(e.gestures,function(a){v.register(a)}),t.onTouch(e.DOCUMENT,o,v.detect),t.onTouch(e.DOCUMENT,p,v.detect),e.READY=!0)}var e=function w(a,b){return new w.Instance(a,b||{})};e.VERSION="1.1.3",e.defaults={behavior:{userSelect:"none",touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},e.DOCUMENT=document,e.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,e.HAS_TOUCHEVENTS="ontouchstart"in a,e.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),e.NO_MOUSEEVENTS=e.HAS_TOUCHEVENTS&&e.IS_MOBILE||e.HAS_POINTEREVENTS,e.CALCULATE_INTERVAL=25;var f={},g=e.DIRECTION_DOWN="down",h=e.DIRECTION_LEFT="left",i=e.DIRECTION_UP="up",j=e.DIRECTION_RIGHT="right",k=e.POINTER_MOUSE="mouse",l=e.POINTER_TOUCH="touch",m=e.POINTER_PEN="pen",n=e.EVENT_START="start",o=e.EVENT_MOVE="move",p=e.EVENT_END="end",q=e.EVENT_RELEASE="release",r=e.EVENT_TOUCH="touch";e.READY=!1,e.plugins=e.plugins||{},e.gestures=e.gestures||{};var s=e.utils={extend:function(a,b,d){for(var e in b)!b.hasOwnProperty(e)||a[e]!==c&&d||(a[e]=b[e]);return a},on:function(a,b,c){a.addEventListener(b,c,!1)},off:function(a,b,c){a.removeEventListener(b,c,!1)},each:function(a,b,d){var e,f;if("forEach"in a)a.forEach(b,d);else if(a.length!==c){for(e=0,f=a.length;f>e;e++)if(b.call(d,a[e],e,a)===!1)return}else for(e in a)if(a.hasOwnProperty(e)&&b.call(d,a[e],e,a)===!1)return},inStr:function(a,b){return a.indexOf(b)>-1},inArray:function(a,b){if(a.indexOf){var c=a.indexOf(b);return-1===c?!1:c}for(var d=0,e=a.length;e>d;d++)if(a[d]===b)return d;return!1},toArray:function(a){return Array.prototype.slice.call(a,0)},hasParent:function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},getCenter:function(a){var b=[],c=[],d=[],e=[],f=Math.min,g=Math.max;return 1===a.length?{pageX:a[0].pageX,pageY:a[0].pageY,clientX:a[0].clientX,clientY:a[0].clientY}:(s.each(a,function(a){b.push(a.pageX),c.push(a.pageY),d.push(a.clientX),e.push(a.clientY)}),{pageX:(f.apply(Math,b)+g.apply(Math,b))/2,pageY:(f.apply(Math,c)+g.apply(Math,c))/2,clientX:(f.apply(Math,d)+g.apply(Math,d))/2,clientY:(f.apply(Math,e)+g.apply(Math,e))/2})},getVelocity:function(a,b,c){return{x:Math.abs(b/a)||0,y:Math.abs(c/a)||0}},getAngle:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return 180*Math.atan2(d,c)/Math.PI},getDirection:function(a,b){var c=Math.abs(a.clientX-b.clientX),d=Math.abs(a.clientY-b.clientY);return c>=d?a.clientX-b.clientX>0?h:j:a.clientY-b.clientY>0?i:g},getDistance:function(a,b){var c=b.clientX-a.clientX,d=b.clientY-a.clientY;return Math.sqrt(c*c+d*d)},getScale:function(a,b){return a.length>=2&&b.length>=2?this.getDistance(b[0],b[1])/this.getDistance(a[0],a[1]):1},getRotation:function(a,b){return a.length>=2&&b.length>=2?this.getAngle(b[1],b[0])-this.getAngle(a[1],a[0]):0},isVertical:function(a){return a==i||a==g},setPrefixedCss:function(a,b,c,d){var e=["","Webkit","Moz","O","ms"];b=s.toCamelCase(b);for(var f=0;f0&&this.started&&(g=o),this.started=!0;var j=this.collectEventData(c,g,e,a);return b!=p&&d.call(v,j),h&&(j.changedLength=i,j.eventType=h,d.call(v,j),j.eventType=g,delete j.changedLength),g==p&&(d.call(v,j),this.started=!1),g},determineEventTypes:function(){var b;return b=e.HAS_POINTEREVENTS?a.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:e.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],f[n]=b[0],f[o]=b[1],f[p]=b[2],f},getTouchList:function(a,b){if(e.HAS_POINTEREVENTS)return u.getTouchList();if(a.touches){if(b==o)return a.touches;var c=[],d=[].concat(s.toArray(a.touches),s.toArray(a.changedTouches)),f=[];return s.each(d,function(a){s.inArray(c,a.identifier)===!1&&f.push(a),c.push(a.identifier)}),f}return a.identifier=1,[a]},collectEventData:function(a,b,c,d){var e=l;return s.inStr(d.type,"mouse")||u.matchType(k,d)?e=k:u.matchType(m,d)&&(e=m),{center:s.getCenter(c),timeStamp:Date.now(),target:d.target,touches:c,eventType:b,pointerType:e,srcEvent:d,preventDefault:function(){var a=this.srcEvent;a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return v.stopDetect()}}}},u=e.PointerEvent={pointers:{},getTouchList:function(){var a=[];return s.each(this.pointers,function(b){a.push(b)}),a},updatePointer:function(a,b){a==p?delete this.pointers[b.pointerId]:(b.identifier=b.pointerId,this.pointers[b.pointerId]=b)},matchType:function(a,b){if(!b.pointerType)return!1;var c=b.pointerType,d={};return d[k]=c===(b.MSPOINTER_TYPE_MOUSE||k),d[l]=c===(b.MSPOINTER_TYPE_TOUCH||l),d[m]=c===(b.MSPOINTER_TYPE_PEN||m),d[a]},reset:function(){this.pointers={}}},v=e.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(a,b){this.current||(this.stopped=!1,this.current={inst:a,startEvent:s.extend({},b),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(b))},detect:function(a){if(this.current&&!this.stopped){a=this.extendEventData(a);var b=this.current.inst,c=b.options;return s.each(this.gestures,function(d){!this.stopped&&b.enabled&&c[d.name]&&d.handler.call(d,a,b)},this),this.current&&(this.current.lastEvent=a),a.eventType==p&&this.stopDetect(),a}},stopDetect:function(){this.previous=s.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(a,b,c,d,f){var g=this.current,h=!1,i=g.lastCalcEvent,j=g.lastCalcData;i&&a.timeStamp-i.timeStamp>e.CALCULATE_INTERVAL&&(b=i.center,c=a.timeStamp-i.timeStamp,d=a.center.clientX-i.center.clientX,f=a.center.clientY-i.center.clientY,h=!0),(a.eventType==r||a.eventType==q)&&(g.futureCalcEvent=a),(!g.lastCalcEvent||h)&&(j.velocity=s.getVelocity(c,d,f),j.angle=s.getAngle(b,a.center),j.direction=s.getDirection(b,a.center),g.lastCalcEvent=g.futureCalcEvent||a,g.futureCalcEvent=a),a.velocityX=j.velocity.x,a.velocityY=j.velocity.y,a.interimAngle=j.angle,a.interimDirection=j.direction},extendEventData:function(a){var b=this.current,c=b.startEvent,d=b.lastEvent||c;(a.eventType==r||a.eventType==q)&&(c.touches=[],s.each(a.touches,function(a){c.touches.push({clientX:a.clientX,clientY:a.clientY})}));var e=a.timeStamp-c.timeStamp,f=a.center.clientX-c.center.clientX,g=a.center.clientY-c.center.clientY;return this.getCalculatedData(a,d.center,e,f,g),s.extend(a,{startEvent:c,deltaTime:e,deltaX:f,deltaY:g,distance:s.getDistance(c.center,a.center),angle:s.getAngle(c.center,a.center),direction:s.getDirection(c.center,a.center),scale:s.getScale(c.touches,a.touches),rotation:s.getRotation(c.touches,a.touches)}),a},register:function(a){var b=a.defaults||{};return b[a.name]===c&&(b[a.name]=!0),s.extend(e.defaults,b,!0),a.index=a.index||1e3,this.gestures.push(a),this.gestures.sort(function(a,b){return a.indexb.index?1:0}),this.gestures}};e.Instance=function(a,b){var c=this;d(),this.element=a,this.enabled=!0,s.each(b,function(a,c){delete b[c],b[s.toCamelCase(c)]=a}),this.options=s.extend(s.extend({},e.defaults),b||{}),this.options.behavior&&s.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=t.onTouch(a,n,function(a){c.enabled&&a.eventType==n?v.startDetect(c,a):a.eventType==r&&v.detect(a)}),this.eventHandlers=[]},e.Instance.prototype={on:function(a,b){var c=this;return t.on(c.element,a,b,function(a){c.eventHandlers.push({gesture:a,handler:b})}),c},off:function(a,b){var c=this;return t.off(c.element,a,b,function(a){var d=s.inArray({gesture:a,handler:b});d!==!1&&c.eventHandlers.splice(d,1)}),c},trigger:function(a,b){b||(b={});var c=e.DOCUMENT.createEvent("Event");c.initEvent(a,!0,!0),c.gesture=b;var d=this.element;return s.hasParent(b.target,d)&&(d=b.target),d.dispatchEvent(c),this},enable:function(a){return this.enabled=a,this},dispose:function(){var a,b;for(s.toggleBehavior(this.element,this.options.behavior,!1),a=-1;b=this.eventHandlers[++a];)s.off(this.element,b.gesture,b.handler);return this.eventHandlers=[],t.off(this.element,f[n],this.eventStartHandler),null}},function(a){function b(b,d){var e=v.current;if(!(d.options.dragMaxTouches>0&&b.touches.length>d.options.dragMaxTouches))switch(b.eventType){case n:c=!1;break;case o:if(b.distance0)){var k=Math.abs(d.options.dragMinDistance/b.distance);f.pageX+=b.deltaX*k,f.pageY+=b.deltaY*k,f.clientX+=b.deltaX*k,f.clientY+=b.deltaY*k,b=v.extendEventData(b)}(e.lastEvent.dragLockToAxis||d.options.dragLockToAxis&&d.options.dragLockMinDistance<=b.distance)&&(b.dragLockToAxis=!0);var l=e.lastEvent.direction;b.dragLockToAxis&&l!==b.direction&&(b.direction=s.isVertical(l)?b.deltaY<0?i:g:b.deltaX<0?h:j),c||(d.trigger(a+"start",b),c=!0),d.trigger(a,b),d.trigger(a+b.direction,b);var m=s.isVertical(b.direction);(d.options.dragBlockVertical&&m||d.options.dragBlockHorizontal&&!m)&&b.preventDefault();break;case q:c&&b.changedLength<=d.options.dragMaxTouches&&(d.trigger(a+"end",b),c=!1);break;case p:c=!1}}var c=!1;e.gestures.Drag={name:a,index:50,handler:b,defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}}}("drag"),e.gestures.Gesture={name:"gesture",index:1337,handler:function(a,b){b.trigger(this.name,a)}},function(a){function b(b,d){var e=d.options,f=v.current;switch(b.eventType){case n:clearTimeout(c),f.name=a,c=setTimeout(function(){f&&f.name==a&&d.trigger(a,b)},e.holdTimeout);break;case o:b.distance>e.holdThreshold&&clearTimeout(c);break;case q:clearTimeout(c)}}var c;e.gestures.Hold={name:a,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:b}}("hold"),e.gestures.Release={name:"release",index:1/0,handler:function(a,b){a.eventType==q&&b.trigger(this.name,a)}},e.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(a,b){if(a.eventType==q){var c=a.touches.length,d=b.options;if(cd.swipeMaxTouches)return;(a.velocityX>d.swipeVelocityX||a.velocityY>d.swipeVelocityY)&&(b.trigger(this.name,a),b.trigger(this.name+a.direction,a))}}},function(a){function b(b,d){var e,f,g=d.options,h=v.current,i=v.previous;switch(b.eventType){case n:c=!1;break;case o:c=c||b.distance>g.tapMaxDistance;break;case p:!s.inStr(b.srcEvent.type,"cancel")&&b.deltaTimed.options.transformMinRotation&&d.trigger("rotate",b),e>d.options.transformMinScale&&(d.trigger("pinch",b),d.trigger("pinch"+(b.scale<1?"in":"out"),b));break;case q:c&&b.changedLength<2&&(d.trigger(a+"end",b),c=!1)}}var c=!1;e.gestures.Transform={name:a,index:45,defaults:{transformMinScale:.01,transformMinRotation:1},handler:b}}("transform"),"function"==typeof define&&define.amd?define(function(){return e}):"undefined"!=typeof b&&b.exports?b.exports=e:a.Hammer=e}(window)},{}],11:[function(a,b,c){(function(a){(function(){function d(a,b,c){for(var d=(c||0)-1,e=a?a.length:0;++d-1?0:-1:a?0:-1}function f(a){var b=this.cache,c=typeof a;if("boolean"==c||null==a)b[a]=!0;else{"number"!=c&&"string"!=c&&(c="object");var d="number"==c?a:ib+a,e=b[c]||(b[c]={});"object"==c?(e[d]||(e[d]=[])).push(a):e[d]=!0}}function g(a){var b=-1,c=a.length,d=a[0],e=a[c/2|0],g=a[c-1];if(d&&"object"==typeof d&&e&&"object"==typeof e&&g&&"object"==typeof g)return!1;var h=i();h["false"]=h["null"]=h["true"]=h.undefined=!1;var j=i();for(j.array=a,j.cache=h,j.push=f;++be?0:e);++d=jb&&f===d,j=[];if(i){var k=g(b);k?(f=e,b=k):i=!1}for(;++c-1:void 0});return e.pop(),f.pop(),s&&(j(e),j(f)),g}function w(a,b){return a+Nb(Zb()*(b-a+1))}function x(a,b,c,d,e,f){var g=1&b,h=2&b,i=4&b,j=16&b,k=32&b;if(!h&&!F(a))throw new TypeError;j&&!c.length&&(b&=-17,j=c=!1),k&&!d.length&&(b&=-33,k=d=!1);var l=a&&a.__bindData__;if(l&&l!==!0)return l=m(l),l[2]&&(l[2]=m(l[2])),l[3]&&(l[3]=m(l[3])),!g||1&l[1]||(l[4]=e),!g&&1&l[1]&&(b|=8),!i||4&l[1]||(l[5]=f),j&&Qb.apply(l[2]||(l[2]=[]),c),k&&Sb.apply(l[3]||(l[3]=[]),d),l[1]|=b,x.apply(null,l);var n=1==b||17===b?p:s;return n([a,b,c,d,e,f])}function y(){zb.shadowedProps=nb,zb.array=zb.bottom=zb.loop=zb.top="",zb.init="iterable",zb.useHas=!0;for(var a,b=0;a=arguments[b];b++)for(var c in a)zb[c]=a[c];var d=zb.args;zb.firstArg=/^[^,]+/.exec(d)[0];var e=Function("baseCreateCallback, errorClass, errorProto, hasOwnProperty, indicatorObject, isArguments, isArray, isString, keys, objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString","return function("+d+") {\n"+ac(zb)+"\n}");return e(r,sb,Hb,Pb,hb,B,cc,H,zb.keys,Ib,Ab,$b,xb,Jb,Kb)}function z(){var a=(a=n.indexOf)===Q?d:a;return a}function A(a){return"function"==typeof a&&Lb.test(a)}function B(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==ob||!1}function C(a,b){var c=q(a);return b?jc(c,b):c}function D(a){var b=[];return kc(a,function(a,c){F(a)&&b.push(c)}),b.sort()}function E(a){var b=!0;if(!a)return b;var c=Kb.call(a),d=a.length;return c==pb||c==xb||(_b.argsClass?c==ob:B(a))||c==vb&&"number"==typeof d&&F(a.splice)?!d:(lc(a,function(){return b=!1}),b)}function F(a){return"function"==typeof a}function G(a){return!(!a||!Ab[typeof a])}function H(a){return"string"==typeof a||a&&"object"==typeof a&&Kb.call(a)==xb||!1}function I(a){for(var b=-1,c=ec(a),d=c.length,e=Array(d);++bc?Xb(0,e+c):c||0}else if(c){var f=S(a,b);return a[f]===b?f:-1}return d(a,b,c)}function R(a,b,c){a=+a||0,c="number"==typeof c?c:+c||1,null==b&&(b=a,a=0);for(var d=-1,e=Xb(0,Mb((b-a)/(c||1))),f=Array(e);++de;){var g=e+f>>>1;c(a[g])2?x(a,17,m(arguments,2),null,b):x(a,1,null,null,b)}function V(a,b,c){var d,e,f,g,h,i,j,k=0,l=!1,m=!0;if(!F(a))throw new TypeError;if(b=Xb(0,b)||0,c===!0){var n=!0;m=!1}else G(c)&&(n=c.leading,l="maxWait"in c&&(Xb(b,c.maxWait)||0),m="trailing"in c?c.trailing:m);var o=function(){var c=b-(mc()-g);if(0>=c){e&&clearTimeout(e);var l=j;e=i=j=eb,l&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))}else i=setTimeout(o,c)},p=function(){i&&clearTimeout(i),e=i=j=eb,(m||l!==b)&&(k=mc(),f=a.apply(h,d),i||e||(d=h=null))};return function(){if(d=arguments,g=mc(),h=this,j=m&&(i||!n),l===!1)var c=n&&!i;else{e||n||(k=g);var q=l-(g-k),r=0>=q;r?(e&&(e=clearTimeout(e)),k=g,f=a.apply(h,d)):e||(e=setTimeout(p,q))}return r&&i?i=clearTimeout(i):i||b===l||(i=setTimeout(o,b)),c&&(r=!0,f=a.apply(h,d)),!r||i||e||(d=h=null),f}}function W(a,b){return x(b,16,[a])}function X(a,b,c){var d=typeof a;if(null==a||"function"==d)return r(a,b,c);if("object"!=d)return _(a);var e=ec(a),f=e[0],g=a[f];return 1!=e.length||g!==g||G(g)?function(b){for(var c=e.length,d=!1;c--&&(d=v(b[e[c]],a[e[c]],null,!0)););return d}:function(a){var b=a[f];return g===b&&(0!==g||1/g==1/b)}}function Y(a){return a}function Z(a,b,c){var d=!0,e=b&&D(b);b&&(c||e.length)||(null==c&&(c=b),f=o,b=a,a=n,e=D(b)),c===!1?d=!1:G(c)&&"chain"in c&&(d=c.chain);var f=a,g=F(f);K(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];Qb.apply(g,arguments);var h=e.apply(a,g);if(d||b){if(c===h&&G(h))return this;h=new f(h),h.__chain__=b}return h})})}function $(){}function _(a){return function(b){return b[a]}}function ab(a){return a=new o(a),a.__chain__=!0,a}function bb(){return this.__chain__=!0,this}function cb(){return String(this.__wrapped__)}function db(){return this.__wrapped__}var eb,fb=[],gb=[],hb={},ib=+new Date+"",jb=75,kb=40,lb=/^\s*function[ \n\r\t]+\w/,mb=/\bthis\b/,nb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ob="[object Arguments]",pb="[object Array]",qb="[object Boolean]",rb="[object Date]",sb="[object Error]",tb="[object Function]",ub="[object Number]",vb="[object Object]",wb="[object RegExp]",xb="[object String]",yb={configurable:!1,enumerable:!1,value:null,writable:!1},zb={args:"",array:null,bottom:"",firstArg:"",init:"",keys:null,loop:"",shadowedProps:null,support:null,top:"",useHas:!1},Ab={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},Bb=Ab[typeof window]&&window||this,Cb=Ab[typeof c]&&c&&!c.nodeType&&c,Db=Ab[typeof b]&&b&&!b.nodeType&&b,Eb=Db&&Db.exports===Cb&&Cb,Fb=Ab[typeof a]&&a;!Fb||Fb.global!==Fb&&Fb.window!==Fb||(Bb=Fb);var Gb=[],Hb=Error.prototype,Ib=Object.prototype,Jb=String.prototype,Kb=Ib.toString,Lb=RegExp("^"+String(Kb).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),Mb=Math.ceil,Nb=Math.floor,Ob=Function.prototype.toString,Pb=Ib.hasOwnProperty,Qb=Gb.push,Rb=Ib.propertyIsEnumerable,Sb=Gb.unshift,Tb=function(){try{var a={},b=A(b=Object.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),Ub=A(Ub=Object.create)&&Ub,Vb=A(Vb=Array.isArray)&&Vb,Wb=A(Wb=Object.keys)&&Wb,Xb=Math.max,Yb=Math.min,Zb=Math.random,$b={};$b[pb]=$b[rb]=$b[ub]={constructor:!0,toLocaleString:!0,toString:!0,valueOf:!0},$b[qb]=$b[xb]={constructor:!0,toString:!0,valueOf:!0},$b[sb]=$b[tb]=$b[wb]={constructor:!0,toString:!0},$b[vb]={constructor:!0},function(){for(var a=nb.length;a--;){var b=nb[a];for(var c in $b)Pb.call($b,c)&&!Pb.call($b[c],b)&&($b[c][b]=!1)}}(),o.prototype=n.prototype;var _b=n.support={};!function(){var a=function(){this.x=1},b={0:1,length:1},c=[];a.prototype={valueOf:1,y:1};for(var d in new a)c.push(d);for(d in arguments);_b.argsClass=Kb.call(arguments)==ob,_b.argsObject=arguments.constructor==Object&&!(arguments instanceof Array),_b.enumErrorProps=Rb.call(Hb,"message")||Rb.call(Hb,"name"),_b.enumPrototypes=Rb.call(a,"prototype"),_b.funcDecomp=!A(Bb.WinRTError)&&mb.test(function(){return this}),_b.funcNames="string"==typeof Function.name,_b.nonEnumArgs=0!=d,_b.nonEnumShadows=!/valueOf/.test(c),_b.spliceObjects=(Gb.splice.call(b,0,1),!b[0]),_b.unindexedChars="x"[0]+Object("x")[0]!="xx"}(1);var ac=function(a){var b="var index, iterable = "+a.firstArg+", result = "+a.init+";\nif (!iterable) return result;\n"+a.top+";";a.array?(b+="\nvar length = iterable.length; index = -1;\nif ("+a.array+") { ",_b.unindexedChars&&(b+="\n if (isString(iterable)) {\n iterable = iterable.split('')\n } "),b+="\n while (++index < length) {\n "+a.loop+";\n }\n}\nelse { "):_b.nonEnumArgs&&(b+="\n var length = iterable.length; index = -1;\n if (length && isArguments(iterable)) {\n while (++index < length) {\n index += '';\n "+a.loop+";\n }\n } else { "),_b.enumPrototypes&&(b+="\n var skipProto = typeof iterable == 'function';\n "),_b.enumErrorProps&&(b+="\n var skipErrorProps = iterable === errorProto || iterable instanceof Error;\n ");var c=[];if(_b.enumPrototypes&&c.push('!(skipProto && index == "prototype")'),_b.enumErrorProps&&c.push('!(skipErrorProps && (index == "message" || index == "name"))'),a.useHas&&a.keys)b+="\n var ownIndex = -1,\n ownProps = objectTypes[typeof iterable] && keys(iterable),\n length = ownProps ? ownProps.length : 0;\n\n while (++ownIndex < length) {\n index = ownProps[ownIndex];\n",c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ";else if(b+="\n for (index in iterable) {\n",a.useHas&&c.push("hasOwnProperty.call(iterable, index)"),c.length&&(b+=" if ("+c.join(" && ")+") {\n "),b+=a.loop+"; ",c.length&&(b+="\n }"),b+="\n } ",_b.nonEnumShadows){for(b+="\n\n if (iterable !== objectProto) {\n var ctor = iterable.constructor,\n isProto = iterable === (ctor && ctor.prototype),\n className = iterable === stringProto ? stringClass : iterable === errorProto ? errorClass : toString.call(iterable),\n nonEnum = nonEnumProps[className];\n ",k=0;7>k;k++)b+="\n index = '"+a.shadowedProps[k]+"';\n if ((!(isProto && nonEnum[index]) && hasOwnProperty.call(iterable, index))",a.useHas||(b+=" || (!nonEnum[index] && iterable[index] !== objectProto[index])"),b+=") {\n "+a.loop+";\n } ";b+="\n } "}return(a.array||_b.nonEnumArgs)&&(b+="\n}"),b+=a.bottom+";\nreturn result"};Ub||(q=function(){function a(){}return function(b){if(G(b)){a.prototype=b;var c=new a;a.prototype=null}return c||Bb.Object()}}());var bc=Tb?function(a,b){yb.value=b,Tb(a,"__bindData__",yb)}:$;_b.argsClass||(B=function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Pb.call(a,"callee")&&!Rb.call(a,"callee")||!1});var cc=Vb||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&Kb.call(a)==pb||!1},dc=y({args:"object",init:"[]",top:"if (!(objectTypes[typeof object])) return result",loop:"result.push(index)"}),ec=Wb?function(a){return G(a)?_b.enumPrototypes&&"function"==typeof a||_b.nonEnumArgs&&a.length&&B(a)?dc(a):Wb(a):[]}:dc,fc={args:"collection, callback, thisArg",top:"callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3)",array:"typeof length == 'number'",keys:ec,loop:"if (callback(iterable[index], index, collection) === false) return result"},gc={args:"object, source, guard",top:"var args = arguments,\n argsIndex = 0,\n argsLength = typeof guard == 'number' ? 2 : args.length;\nwhile (++argsIndex < argsLength) {\n iterable = args[argsIndex];\n if (iterable && objectTypes[typeof iterable]) {",keys:ec,loop:"if (typeof result[index] == 'undefined') result[index] = iterable[index]",bottom:" }\n}"},hc={top:"if (!objectTypes[typeof iterable]) return result;\n"+fc.top,array:!1},ic=y(fc),jc=y(gc,{top:gc.top.replace(";",";\nif (argsLength > 3 && typeof args[argsLength - 2] == 'function') {\n var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);\n} else if (argsLength > 2 && typeof args[argsLength - 1] == 'function') {\n callback = args[--argsLength];\n}"),loop:"result[index] = callback ? callback(result[index], iterable[index]) : iterable[index]"}),kc=y(fc,hc,{useHas:!1}),lc=y(fc,hc);F(/x/)&&(F=function(a){return"function"==typeof a&&Kb.call(a)==tb});var mc=A(mc=Date.now)&&mc||function(){return(new Date).getTime()};n.assign=jc,n.bind=U,n.chain=ab,n.create=C,n.createCallback=X,n.debounce=V,n.filter=J,n.flatten=P,n.forEach=K,n.forIn=kc,n.forOwn=lc,n.functions=D,n.keys=ec,n.map=L,n.property=_,n.range=R,n.reject=M,n.shuffle=O,n.values=I,n.without=T,n.wrap=W,n.collect=L,n.each=K,n.extend=jc,n.methods=D,n.select=J,Z(n),n.identity=Y,n.indexOf=Q,n.isArguments=B,n.isArray=cc,n.isEmpty=E,n.isFunction=F,n.isObject=G,n.isString=H,n.mixin=Z,n.noop=$,n.now=mc,n.sortedIndex=S,Z(function(){var a={}; return lc(n,function(b,c){n.prototype[c]||(a[c]=b)}),a}(),!1),n.sample=N,lc(n,function(a,b){var c="sample"!==b;n.prototype[b]||(n.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new o(f,e):f})}),n.VERSION="2.4.1",n.prototype.chain=bb,n.prototype.toString=cb,n.prototype.value=db,n.prototype.valueOf=db,ic(["join","pop","shift"],function(a){var b=Gb[a];n.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new o(c,a):c}}),ic(["push","reverse","sort","unshift"],function(a){var b=Gb[a];n.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),ic(["concat","slice","splice"],function(a){var b=Gb[a];n.prototype[a]=function(){return new o(b.apply(this.__wrapped__,arguments),this.__chain__)}}),_b.spliceObjects||ic(["pop","shift","splice"],function(a){var b=Gb[a],c="splice"==a;n.prototype[a]=function(){var a=this.__chain__,d=this.__wrapped__,e=b.apply(d,arguments);return 0===d.length&&delete d[0],a||c?new o(e,a):e}}),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(Bb._=n,define(function(){return n})):Cb&&Db?Eb?(Db.exports=n)._=n:Cb._=n:Bb._=n}).call(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(a,b,c){function d(a){return{test:function(b){var c=Blockly.Xml.blockToDom_(b,!0);return f(a,c)},blockDisplayXML:i.serialize(a)}}function e(a){var b,c=[],e=a.getElementsByTagName("statement")[0],f=e.getElementsByTagName("block")[0];do b=f.getElementsByTagName("next")[0],b&&f.removeChild(b),c.push(d(f)),b&&(f=b.getElementsByTagName("block")[0]);while(b);return c}function f(a,b){return a instanceof Element&&b instanceof Element?a.tagName.toLowerCase()!==b.tagName.toLowerCase()?!1:g(a,b)&&h(a,b)?!0:!1:a instanceof Text&&"???"===a.textContent?!0:a.isEqualNode(b)}function g(a,b){var c=j.reject(a.attributes,k.contains),d=j.reject(b.attributes,k.contains);if(c.length!==d.length)return!1;for(var e=0;e'+a+""},c.simpleBlock=function(a){return{test:function(b){return b.type==a},type:a}},c.repeat=function(a){return{test:function(a){return"controls_repeat"==a.type},type:"controls_repeat",titles:{TIMES:a}}},c.repeatSimpleBlock=function(a){return{test:function(a){return"controls_repeat_simplified"==a.type},type:"controls_repeat_simplified",titles:{TIMES:a}}},c.makeTestsFromBuilderRequiredBlocks=function(a){var b=i.parseElement(a),c=[];return Array.prototype.forEach.call(b.childNodes,function(a){1===a.nodeType&&c.push("pick_one"===a.getAttribute("type")?e(a):[d(a)])}),c};var k=["deletable","movable","editable","inline"];k.contains=function(a){return-1!==k.indexOf(a.name)},c.blocksMatch=function(a,b){var d=a.type===b.type,e=c.blockTitlesMatch(a,b);return d&&e},c.blockTitlesMatch=function(a,b){var c=a.getTitles(),d=b.getTitles(),e=function(a,b){return a.name1?this.appendDummyInput().appendTitle(c(f.whenSpriteClickedN),"SPRITE"):this.appendDummyInput().appendTitle(f.whenSpriteClicked()),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteClickedTooltip())}},A.studio_whenSpriteClicked=A.studio_eventHandlerPrologue,a.Blocks.studio_whenSpriteCollided={helpUrl:"",init:function(){var b,e;if(this.setHSV(140,1,.74),z)b=h(),e=h(),this.appendDummyInput().appendTitle(g.when()).appendTitle(new a.FieldImage(y.collide)).appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(g.and()).appendTitle(e,"SPRITE2");else{b=c(f.whenSpriteCollidedN);var i=d(f.whenSpriteCollidedWithN);u&&(i=i.concat(this.PROJECTILES)),v&&(i=i.concat(this.EDGES)),e=new a.FieldDropdown(i),this.appendDummyInput().appendTitle(b,"SPRITE1"),this.appendDummyInput().appendTitle(e,"SPRITE2")}t>1&&e.setValue(e.getOptions()[1][1]),this.setPreviousStatement(!1),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.whenSpriteCollidedTooltip())}},a.Blocks.studio_whenSpriteCollided.PROJECTILES=[[f.whenSpriteCollidedWithBlueFireball(),"blue_fireball"],[f.whenSpriteCollidedWithPurpleFireball(),"purple_fireball"],[f.whenSpriteCollidedWithRedFireball(),"red_fireball"],[f.whenSpriteCollidedWithYellowHearts(),"yellow_hearts"],[f.whenSpriteCollidedWithPurpleHearts(),"purple_hearts"],[f.whenSpriteCollidedWithRedHearts(),"red_hearts"]],a.Blocks.studio_whenSpriteCollided.EDGES=[[f.whenSpriteCollidedWithTopEdge(),"top"],[f.whenSpriteCollidedWithLeftEdge(),"left"],[f.whenSpriteCollidedWithBottomEdge(),"bottom"],[f.whenSpriteCollidedWithRightEdge(),"right"]],A.studio_whenSpriteCollided=A.studio_eventHandlerPrologue,a.Blocks.studio_stop={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.stopSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.stopSprite()),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.stopTooltip())}},A.studio_stop=function(){return"Studio.stop('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+");\n"},a.Blocks.studio_throw={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.throwSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.throwSprite()),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.throwTooltip())}},a.Blocks.studio_throw.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],a.Blocks.studio_throw.VALUES=[[f.projectileBlueFireball(),'"blue_fireball"'],[f.projectilePurpleFireball(),'"purple_fireball"'],[f.projectileRedFireball(),'"red_fireball"'],[f.projectileYellowHearts(),'"yellow_hearts"'],[f.projectilePurpleHearts(),'"purple_hearts"'],[f.projectileRedHearts(),'"red_hearts"'],[f.projectileRandom(),"random"]],A.studio_throw=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=this.VALUES.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("VALUE");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.throwProjectile('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+d+");\n"},a.Blocks.studio_makeProjectile={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.appendDummyInput().appendTitle(" "),this.appendDummyInput().appendTitle(new a.FieldDropdown(this.ACTIONS),"ACTION"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.makeProjectileTooltip())}},a.Blocks.studio_makeProjectile.VALUES=[[f.makeProjectileBlueFireball(),'"blue_fireball"'],[f.makeProjectilePurpleFireball(),'"purple_fireball"'],[f.makeProjectileRedFireball(),'"red_fireball"'],[f.makeProjectileYellowHearts(),'"yellow_hearts"'],[f.makeProjectilePurpleHearts(),'"purple_hearts"'],[f.makeProjectileRedHearts(),'"red_hearts"']],a.Blocks.studio_makeProjectile.ACTIONS=[[f.makeProjectileBounce(),'"bounce"'],[f.makeProjectileDisappear(),'"disappear"']],A.studio_makeProjectile=function(){return"Studio.makeProjectile('block_id_"+this.id+"', "+this.getTitleValue("VALUE")+", "+this.getTitleValue("ACTION")+");\n"},a.Blocks.studio_setSpritePosition={helpUrl:"",init:function(){var b;w?(b=new a.FieldDropdown(this.VALUES_EXTENDED),b.setValue(this.VALUES_EXTENDED[4][1])):(b=new a.FieldDropdown(this.VALUES),b.setValue(this.VALUES[1][1])),this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.setSpritePositionTooltip())}},a.Blocks.studio_setSpritePosition.VALUES=[[f.positionRandom(),n],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()]],a.Blocks.studio_setSpritePosition.VALUES_EXTENDED=[[f.positionRandom(),n],[f.positionOutTopLeft(),l.OUTTOPLEFT.toString()],[f.positionOutTopRight(),l.OUTTOPRIGHT.toString()],[f.positionTopOutLeft(),l.TOPOUTLEFT.toString()],[f.positionTopLeft(),l.TOPLEFT.toString()],[f.positionTopCenter(),l.TOPCENTER.toString()],[f.positionTopRight(),l.TOPRIGHT.toString()],[f.positionTopOutRight(),l.TOPOUTRIGHT.toString()],[f.positionMiddleLeft(),l.MIDDLELEFT.toString()],[f.positionMiddleCenter(),l.MIDDLECENTER.toString()],[f.positionMiddleRight(),l.MIDDLERIGHT.toString()],[f.positionBottomOutLeft(),l.BOTTOMOUTLEFT.toString()],[f.positionBottomLeft(),l.BOTTOMLEFT.toString()],[f.positionBottomCenter(),l.BOTTOMCENTER.toString()],[f.positionBottomRight(),l.BOTTOMRIGHT.toString()],[f.positionBottomOutRight(),l.BOTTOMOUTRIGHT.toString()],[f.positionOutBottomLeft(),l.OUTBOTTOMLEFT.toString()],[f.positionOutBottomRight(),l.OUTBOTTOMRIGHT.toString()]],A.studio_setSpritePosition=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpritePosition"})};var B={DIRECTION_CONFIGS:{West:{letter:g.directionWestLetter(),image:y.leftArrow,studioValue:k.WEST.toString(),tooltip:f.moveLeftTooltip()},East:{letter:g.directionEastLetter(),image:y.rightArrow,studioValue:k.EAST.toString(),tooltip:f.moveRightTooltip()},North:{letter:g.directionNorthLetter(),image:y.upArrow,studioValue:k.NORTH.toString(),tooltip:f.moveUpTooltip()},South:{letter:g.directionSouthLetter(),image:y.downArrow,studioValue:k.SOUTH.toString(),tooltip:f.moveDownTooltip()}},DISTANCES:[[y.shortLine,"25"],[y.longLine,"400"]],DEFAULT_MOVE_DISTANCE:"100",generateBlocksForAllDirections:function(){B.generateBlocksForDirection("North"),B.generateBlocksForDirection("South"),B.generateBlocksForDirection("West"),B.generateBlocksForDirection("East")},generateBlocksForDirection:function(b){A["studio_move"+b]=B.generateCodeGenerator(b,!0),a.Blocks["studio_move"+b]=B.generateMoveBlock(b,!1),A["studio_move"+b+"Distance"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"Distance"]=B.generateMoveBlock(b,!1),A["studio_move"+b+"_length"]=B.generateCodeGenerator(b,!1),a.Blocks["studio_move"+b+"_length"]=B.generateMoveBlock(b,!0)},generateMoveBlock:function(b,c){var d=B.DIRECTION_CONFIGS[b];return{helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(new a.FieldImage(d.image)).appendTitle(d.letter),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),c&&this.appendDummyInput().appendTitle(new a.FieldImageDropdown(B.DISTANCES),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(d.tooltip)}}},generateCodeGenerator:function(a,b){var c=B.DIRECTION_CONFIGS[a];return function(){var a=this.getTitleValue("SPRITE")||"0",d=c.studioValue,e=b?"move":"moveDistance",f=this.getTitleValue("DISTANCE")||B.DEFAULT_MOVE_DISTANCE;return"Studio."+e+"('block_id_"+this.id+"', "+a+", "+d+(b?"":", "+f)+");\n"}}};B.generateBlocksForAllDirections(),a.Blocks.studio_move={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveTooltip())}},a.Blocks.studio_move.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],a.Blocks.studio_move.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()]],A.studio_move=function(){return"Studio.move('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+this.getTitleValue("DIR")+");\n"};var C=function(b){b.helpUrl="",b.init=function(){this.setHSV(184,1,.74),t>1?(z?this.appendDummyInput().appendTitle(f.moveSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.moveSpriteN),"SPRITE"),this.appendDummyInput().appendTitle(" ")):this.appendDummyInput().appendTitle(f.moveSprite()),z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DIR),"DIR"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DIR),"DIR"),this.appendDummyInput().appendTitle(" "),b.params?(this.appendValueInput("DISTANCE").setCheck("Number"),this.appendDummyInput().appendTitle(f.moveDistancePixels())):z?this.appendDummyInput().appendTitle(new a.FieldImageDropdown(this.K1_DISTANCE),"DISTANCE"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.DISTANCE),"DISTANCE"),this.setPreviousStatement(!0),this.setInputsInline(!0),this.setNextStatement(!0),this.setTooltip(f.moveDistanceTooltip())},b.K1_DIR=[[y.upArrow,k.NORTH.toString()],[y.rightArrow,k.EAST.toString()],[y.downArrow,k.SOUTH.toString()],[y.leftArrow,k.WEST.toString()]],b.DIR=[[f.moveDirectionUp(),k.NORTH.toString()],[f.moveDirectionDown(),k.SOUTH.toString()],[f.moveDirectionLeft(),k.WEST.toString()],[f.moveDirectionRight(),k.EAST.toString()],[f.moveDirectionRandom(),"random"]],b.params||(b.DISTANCE=[[f.moveDistance25(),"25"],[f.moveDistance50(),"50"],[f.moveDistance100(),"100"],[f.moveDistance200(),"200"],[f.moveDistance400(),"400"],[f.moveDistanceRandom(),"random"]],b.K1_DISTANCE=[[y.shortLine,"25"],[y.longLine,"400"]])};a.Blocks.studio_moveDistance={},C(a.Blocks.studio_moveDistance),a.Blocks.studio_moveDistanceParams={params:!0},C(a.Blocks.studio_moveDistanceParams),A.studio_moveDistance=function(){var a=this.DISTANCE.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DISTANCE");"random"===b&&(b="Studio.random(["+a+"])");var c=this.DIR.slice(0,-1).map(function(a){return a[1]}),d=this.getTitleValue("DIR");return"random"===d&&(d="Studio.random(["+c+"])"),"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+d+", "+b+");\n"},A.studio_moveDistanceParams=function(){var a=this.DIR.slice(0,-1).map(function(a){return a[1]}),b=this.getTitleValue("DIR");"random"===b&&(b="Studio.random(["+a+"])");var c=Blockly.JavaScript.valueToCode(this,"DISTANCE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.moveDistance('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+b+", "+c+");\n"},a.Blocks.studio_playSound={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.play()).appendTitle(new a.FieldImage(y.soundIcon)).appendTitle(new a.FieldDropdown(this.K1_SOUNDS,p),"SOUND"):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.SOUNDS,p),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.playSoundTooltip())}},a.Blocks.studio_playSound.K1_SOUNDS=[[f.soundHit(),"hit"],[f.soundWood(),"wood"],[f.soundRetro(),"retro"],[f.soundSlap(),"slap"],[f.soundRubber(),"rubber"],[f.soundCrunch(),"crunch"],[f.soundWinPoint(),"winpoint"],[f.soundWinPoint2(),"winpoint2"],[f.soundLosePoint(),"losepoint"],[f.soundLosePoint2(),"losepoint2"],[f.soundGoal1(),"goal1"],[f.soundGoal2(),"goal2"]],a.Blocks.studio_playSound.SOUNDS=[[f.playSoundHit(),"hit"],[f.playSoundWood(),"wood"],[f.playSoundRetro(),"retro"],[f.playSoundSlap(),"slap"],[f.playSoundRubber(),"rubber"],[f.playSoundCrunch(),"crunch"],[f.playSoundWinPoint(),"winpoint"],[f.playSoundWinPoint2(),"winpoint2"],[f.playSoundLosePoint(),"losepoint"],[f.playSoundLosePoint2(),"losepoint2"],[f.playSoundGoal1(),"goal1"],[f.playSoundGoal2(),"goal2"]],A.studio_playSound=function(){return"Studio.playSound('block_id_"+this.id+"', '"+this.getTitleValue("SOUND")+"');\n"},a.Blocks.studio_changeScore={helpUrl:"",init:function(){this.setHSV(184,1,.74),z?this.appendDummyInput().appendTitle(g.score()).appendTitle(new a.FieldImage(y.scoreCard)):this.appendDummyInput().appendTitle(new a.FieldDropdown(this.VALUES),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(z?f.changeScoreTooltipK1():f.changeScoreTooltip())}},a.Blocks.studio_changeScore.VALUES=[[f.incrementPlayerScore(),"1"],[f.decrementPlayerScore(),"-1"]],A.studio_changeScore=function(){return"Studio.changeScore('block_id_"+this.id+"', '"+(this.getTitleValue("VALUE")||"1")+"');\n"},a.Blocks.studio_setScoreText={helpUrl:"",init:function(){this.setHSV(184,1,.74),this.appendValueInput("TEXT").setCheck("String").appendTitle(f.setScoreText()),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setScoreTextTooltip())}},A.studio_setScoreText=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.setScoreText('block_id_"+this.id+"', "+a+");\n"},a.Blocks.studio_setSpriteSpeed={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES);b.setValue(this.K1_VALUES[1][1]),this.appendDummyInput().appendTitle(f.speed()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSpeedTooltip())}},a.Blocks.studio_setSpriteSpeed.K1_VALUES=[[y.speedSlow,"Studio.SpriteSpeed.SLOW"],[y.speedMedium,"Studio.SpriteSpeed.NORMAL"],[y.speedFast,"Studio.SpriteSpeed.FAST"]],a.Blocks.studio_setSpriteSpeed.VALUES=[[f.setSpriteSpeedRandom(),n],[f.setSpriteSpeedVerySlow(),"Studio.SpriteSpeed.VERY_SLOW"],[f.setSpriteSpeedSlow(),"Studio.SpriteSpeed.SLOW"],[f.setSpriteSpeedNormal(),"Studio.SpriteSpeed.NORMAL"],[f.setSpriteSpeedFast(),"Studio.SpriteSpeed.FAST"],[f.setSpriteSpeedVeryFast(),"Studio.SpriteSpeed.VERY_FAST"]],A.studio_setSpriteSpeed=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSpeed"})},a.Blocks.studio_setSpriteSize={helpUrl:"",init:function(){this.setHSV(184,1,.74),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite());var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[3][1]),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteSizeTooltip())}},a.Blocks.studio_setSpriteSize.VALUES=[[f.setSpriteSizeRandom(),n],[f.setSpriteSizeVerySmall(),"Studio.SpriteSize.VERY_SMALL"],[f.setSpriteSizeSmall(),"Studio.SpriteSize.SMALL"],[f.setSpriteSizeNormal(),"Studio.SpriteSize.NORMAL"],[f.setSpriteSizeLarge(),"Studio.SpriteSize.LARGE"],[f.setSpriteSizeVeryLarge(),"Studio.SpriteSize.VERY_LARGE"]],A.studio_setSpriteSize=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteSize"})},a.Blocks.studio_setBackground={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b;z?(b=new a.FieldImageDropdown(this.IMAGE_CHOICES,y.dropdownThumbnailWidth,y.dropdownThumbnailHeight),this.appendDummyInput().appendTitle(f.setBackground()).appendTitle(b,"VALUE")):(b=new a.FieldDropdown(this.VALUES),this.appendDummyInput().appendTitle(b,"VALUE")),b.setValue(r),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setBackgroundTooltip())}},a.Blocks.studio_setBackground.VALUES=[[f.setBackgroundRandom(),n],[f.setBackgroundCave(),r],[f.setBackgroundNight(),'"night"'],[f.setBackgroundCloudy(),'"cloudy"'],[f.setBackgroundUnderwater(),'"underwater"'],[f.setBackgroundHardcourt(),'"hardcourt"'],[f.setBackgroundBlack(),'"black"'],[f.setBackgroundCity(),'"city"'],[f.setBackgroundDesert(),'"desert"'],[f.setBackgroundRainbow(),'"rainbow"'],[f.setBackgroundSoccer(),'"soccer"'],[f.setBackgroundSpace(),'"space"'],[f.setBackgroundTennis(),'"tennis"'],[f.setBackgroundWinter(),'"winter"']],a.Blocks.studio_setBackground.IMAGE_CHOICES=[[y.cave.background,r],[y.night.background,'"night"'],[y.cloudy.background,'"cloudy"'],[y.underwater.background,'"underwater"'],[y.hardcourt.background,'"hardcourt"'],[y.black.background,'"black"'],[y.city.background,'"city"'],[y.desert.background,'"desert"'],[y.rainbow.background,'"rainbow"'],[y.soccer.background,'"soccer"'],[y.space.background,'"space"'],[y.tennis.background,'"tennis"'],[y.winter.background,'"winter"'],[y.randomPurpleIcon,n]],A.studio_setBackground=function(){return s({ctx:this,name:"setBackground"}) };var D=function(a){a.helpUrl="",a.init=function(){this.setHSV(184,1,.74),this.appendDummyInput().appendTitle(f.showTitleScreen()),a.params?(this.appendValueInput("TITLE").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenTitle()),this.appendValueInput("TEXT").setCheck("String").setAlign(Blockly.ALIGN_RIGHT).appendTitle(f.showTitleScreenText())):(this.appendDummyInput().appendTitle(f.showTitleScreenTitle()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefTitle()),"TITLE").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12)),this.appendDummyInput().appendTitle(f.showTitleScreenText()).appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.showTSDefText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.showTitleScreenTooltip())}};a.Blocks.studio_showTitleScreen={},D(a.Blocks.studio_showTitleScreen),a.Blocks.studio_showTitleScreenParams={params:!0},D(a.Blocks.studio_showTitleScreenParams),A.studio_showTitleScreen=function(){return"Studio.showTitleScreen('block_id_"+this.id+"', "+a.JavaScript.quote_(this.getTitleValue("TITLE"))+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_showTitleScreenParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TITLE",Blockly.JavaScript.ORDER_NONE)||"",b=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.showTitleScreen('block_id_"+this.id+"', "+a+", "+b+");\n"},z?(a.Blocks.studio_setSprite={helpUrl:"",init:function(){this.setHSV(312,.32,.62);var b=new a.FieldDropdown(this.VALUES);b.setValue(q),this.appendDummyInput().appendTitle(b,"VALUE"),t>1&&this.appendDummyInput().appendTitle(h(),"SPRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteK1Tooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHideK1(),o],[f.setSpriteShowK1(),q]]):(a.Blocks.studio_setSprite={helpUrl:"",init:function(){var b=new a.FieldDropdown(this.VALUES);b.setValue(this.VALUES[2][1]),this.setHSV(312,.32,.62),t>1?this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),this.appendDummyInput().appendTitle(b,"VALUE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteTooltip())}},a.Blocks.studio_setSprite.VALUES=[[f.setSpriteHidden(),o],[f.setSpriteRandom(),n],[f.setSpriteWitch(),'"witch"'],[f.setSpriteCat(),'"cat"'],[f.setSpriteDinosaur(),'"dinosaur"'],[f.setSpriteDog(),'"dog"'],[f.setSpriteOctopus(),'"octopus"'],[f.setSpritePenguin(),'"penguin"'],[f.setSpriteBat(),'"bat"'],[f.setSpriteBird(),'"bird"'],[f.setSpriteDragon(),'"dragon"'],[f.setSpriteSquirrel(),'"squirrel"'],[f.setSpriteWizard(),'"wizard"'],[f.setSpriteAlien(),'"alien"'],[f.setSpriteGhost(),'"ghost"'],[f.setSpriteMonster(),'"monster"'],[f.setSpriteRobot(),'"robot"'],[f.setSpriteUnicorn(),'"unicorn"'],[f.setSpriteZombie(),'"zombie"'],[f.setSpriteKnight(),'"knight"'],[f.setSpriteNinja(),'"ninja"'],[f.setSpritePirate(),'"pirate"'],[f.setSpriteCaveBoy(),'"caveboy"'],[f.setSpriteCaveGirl(),'"cavegirl"'],[f.setSpritePrincess(),'"princess"'],[f.setSpriteSpacebot(),'"spacebot"'],[f.setSpriteSoccerGirl(),'"soccergirl"'],[f.setSpriteSoccerBoy(),'"soccerboy"'],[f.setSpriteTennisGirl(),'"tennisgirl"'],[f.setSpriteTennisBoy(),'"tennisboy"']]),A.studio_setSprite=function(){var a=(this.getTitleValue("VALUE"),this.getTitleValue("SPRITE")||"0");return s({ctx:this,extraParams:a,name:"setSprite"})},a.Blocks.studio_setSpriteEmotion={helpUrl:"",init:function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.setSprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.setSpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.setSprite()),z){var b=new a.FieldImageDropdown(this.K1_VALUES,34,34);b.setValue(this.K1_VALUES[0][1]),this.appendDummyInput().appendTitle(f.emotion()).appendTitle(b,"VALUE")}else{var d=new a.FieldDropdown(this.VALUES);d.setValue(this.VALUES[1][1]),this.appendDummyInput().appendTitle(d,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.setSpriteEmotionTooltip())}},a.Blocks.studio_setSpriteEmotion.VALUES=[[f.setSpriteEmotionRandom(),n],[f.setSpriteEmotionNormal(),m.NORMAL.toString()],[f.setSpriteEmotionHappy(),m.HAPPY.toString()],[f.setSpriteEmotionAngry(),m.ANGRY.toString()],[f.setSpriteEmotionSad(),m.SAD.toString()]],a.Blocks.studio_setSpriteEmotion.K1_VALUES=[[y.emotionNormal,m.NORMAL.toString()],[y.emotionHappy,m.HAPPY.toString()],[y.emotionAngry,m.ANGRY.toString()],[y.emotionSad,m.SAD.toString()],[y.randomPurpleIcon,n]],A.studio_setSpriteEmotion=function(){return s({ctx:this,extraParams:this.getTitleValue("SPRITE")||"0",name:"setSpriteEmotion"})};var E=function(a){a.helpUrl="",a.init=function(){if(this.setHSV(184,1,.74),t>1?z?this.appendDummyInput().appendTitle(f.saySprite()).appendTitle(h(),"SPRITE"):this.appendDummyInput().appendTitle(c(f.saySpriteN),"SPRITE"):this.appendDummyInput().appendTitle(f.saySprite()),a.params)this.appendValueInput("TEXT").setCheck("String");else{var b=this.appendDummyInput();z&&b.appendTitle(new Blockly.FieldImage(y.speechBubble)),b.appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote0.png"),12,12)).appendTitle(new Blockly.FieldTextInput(f.defaultSayText()),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.assetUrl("media/quote1.png"),12,12))}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(f.saySpriteTooltip())}};a.Blocks.studio_saySprite={},E(a.Blocks.studio_saySprite),a.Blocks.studio_saySpriteParams={params:!0},E(a.Blocks.studio_saySpriteParams),A.studio_saySprite=function(){return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a.JavaScript.quote_(this.getTitleValue("TEXT"))+");\n"},A.studio_saySpriteParams=function(){var a=Blockly.JavaScript.valueToCode(this,"TEXT",Blockly.JavaScript.ORDER_NONE)||"";return"Studio.saySprite('block_id_"+this.id+"', "+(this.getTitleValue("SPRITE")||"0")+", "+a+");\n"};var F=function(b){b.helpUrl="",b.init=function(){if(this.setHSV(184,1,.74),b.params)this.appendDummyInput().appendTitle(f.waitFor()),this.appendValueInput("VALUE").setCheck("Number"),this.appendDummyInput().appendTitle(f.waitSeconds());else{var c=new a.FieldDropdown(this.VALUES);c.setValue(this.VALUES[2][1]),this.appendDummyInput().appendTitle(c,"VALUE")}this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(b.params?f.waitParamsTooltip():f.waitTooltip())},b.params||(b.VALUES=[[f.waitForClick(),'"click"'],[f.waitForRandom(),"random"],[f.waitForHalfSecond(),"500"],[f.waitFor1Second(),"1000"],[f.waitFor2Seconds(),"2000"],[f.waitFor5Seconds(),"5000"],[f.waitFor10Seconds(),"10000"]])};a.Blocks.studio_wait={},F(a.Blocks.studio_wait),a.Blocks.studio_waitParams={params:!0},F(a.Blocks.studio_waitParams),A.studio_wait=function(){return s({ctx:this,name:"wait"})},A.studio_waitParams=function(){var a=Blockly.JavaScript.valueToCode(this,"VALUE",Blockly.JavaScript.ORDER_NONE)||"0";return"Studio.wait('block_id_"+this.id+"', ("+a+" * 1000));\n"}}},{"../../locale/zh_tw/common":40,"../../locale/zh_tw/studio":41,"../codegen":6,"../lodash":11,"../utils":38,"./tiles":25}],17:[function(a,b){"use strict";var c=a("./studio"),d=a("./tiles").Direction,e=function(a){for(var b in a)this[b]=a[b];this.visible=this.visible||!0,this.flags=0,this.collidingWith_={},this.frames=this.frames||1};b.exports=e,e.prototype.clearCollisions=function(){this.collidingWith_={}},e.prototype.startCollision=function(a){return this.isCollidingWith(a)?!1:(this.collidingWith_[a]=!0,!0)},e.prototype.endCollision=function(a){this.collidingWith_[a]=!1},e.prototype.isCollidingWith=function(a){return this.collidingWith_[a]===!0},e.prototype.bounce=function(){switch(this.dir){case d.NORTH:this.dir=d.SOUTH;break;case d.WEST:this.dir=d.EAST;break;case d.SOUTH:this.dir=d.NORTH;break;case d.EAST:this.dir=d.WEST}},e.prototype.outOfBounds=function(){return this.x<-(this.width/2)||this.x>c.MAZE_WIDTH+this.width/2||this.y<-(this.height/2)||this.y>c.MAZE_HEIGHT+this.height/2}},{"./studio":24,"./tiles":25}],18:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_tw/common");buf.push('\n\n
\n
\n\n'),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],19:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_tw/common");buf.push("\n\n"),finishButton&&buf.push('\n \n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],20:[function(a,b){function c(a){var b={};return a.sprite&&(b.SPRITE=a.sprite),a.requiredText&&(b.TEXT=a.requiredText),a.notDefaultText&&(b.TEXT=d.helloWorld()),[{test:function(b){return"studio_saySprite"!==b.type?!1:a.sprite&&b.getTitleValue("SPRITE")!==a.sprite?!1:(a.notDefaultText||a.requiredText)&&b.getTitleValue("TEXT")===d.defaultSayText()?!1:!0},type:"studio_saySprite",titles:b}]}var d=a("../../locale/zh_tw/studio"),e=a("../utils"),f=a("../block_utils"),g=a("./tiles"),h=(g.Direction,g.Emotions),i=f.createToolbox,j=f.blockOfType,k=f.createCategory,l=j("studio_moveNorthDistance")+j("studio_moveEastDistance")+j("studio_moveSouthDistance")+j("studio_moveWestDistance"),m=(j("studio_moveNorth")+j("studio_moveEast")+j("studio_moveSouth")+j("studio_moveWest"),b.exports={});m.dog_hello={ideal:2,requiredBlocks:[[{test:function(a){return"studio_saySprite"==a.type&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.helloWorld()}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0}},timeoutFailureTick:100,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_1=e.extend(m.dog_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_1=e.extend(m.dog_hello),m.c3_story_1=e.extend(m.dog_hello),m.playlab_1=e.extend(m.dog_hello),m.dog_and_cat_hello={ideal:3,requiredBlocks:[c({sprite:"0",notDefaultText:!0}),c({sprite:"1",notDefaultText:!0})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>1}},timeoutFailureTick:200,toolbox:i(j("studio_saySprite")),startBlocks:''},m.k1_2=e.extend(m.dog_and_cat_hello,{isK1:!0,toolbox:i(j("studio_saySprite"))}),m.c2_2=e.extend(m.dog_and_cat_hello,{}),m.c3_story_2=e.extend(m.dog_and_cat_hello,{}),m.playlab_2=e.extend(m.dog_and_cat_hello,{}),m.dog_move_cat={ideal:2,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2"}}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:100,toolbox:i('2'+j("studio_saySprite")),startBlocks:''},m.k1_3=e.extend(m.dog_move_cat,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}]],toolbox:i(l+j("studio_saySprite"))}),m.c2_3=e.extend(m.dog_move_cat,{}),m.c3_story_3=e.extend(m.dog_move_cat,{}),m.playlab_3=e.extend(m.dog_move_cat,{}),m.dog_move_cat_hello={ideal:4,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{DIR:"2",DISTANCE:"100"}}],c({sprite:"1",requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],goal:{successCondition:function(){return Studio.sayComplete>0&&Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:200,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.k1_4=e.extend(m.dog_move_cat_hello,{isK1:!0,requiredBlocks:[[{test:function(a){return"studio_moveEastDistance"==a.type},type:"studio_moveEastDistance"}],[{test:function(a){return"studio_saySprite"==a.type&&"1"===a.getTitleValue("SPRITE")&&a.getTitleValue("TEXT")!==d.defaultSayText()},type:"studio_saySprite",titles:{TEXT:d.hello(),SPRITE:"1"}}]],toolbox:i(l+j("studio_saySprite")),startBlocks:' '}),m.c2_4=e.extend(m.dog_move_cat_hello,{}),m.c3_story_4=e.extend(m.dog_move_cat_hello,{}),m.playlab_4=e.extend(m.dog_move_cat_hello,{}),m.click_hello={ideal:3,requiredBlocks:[c({requiredText:d.hello()})],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return this.successState.seenCmd||(this.successState.seenCmd=Studio.isCmdCurrentInQueue("saySprite","whenSpriteClicked-0")),Studio.sayComplete>0&&this.successState.seenCmd}},timeoutFailureTick:300,toolbox:i('2'+j("studio_saySprite")),startBlocks:' '},m.c2_5=e.extend(m.click_hello,{}),m.c3_game_1=e.extend(m.click_hello,{}),m.playlab_5=e.extend(m.click_hello,{}),m.octopus_happy={ideal:2,requiredBlocks:[[{test:"setSpriteEmotion",type:"studio_setSpriteEmotion"}]],scale:{snapRadius:2},map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,16,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:4,goal:{successCondition:function(){return Studio.sprite[0].emotion===h.HAPPY&&Studio.tickCount>=50}},timeoutFailureTick:100,toolbox:i('2'+j("studio_setSpriteEmotion")),startBlocks:''},m.k1_5=e.extend(m.octopus_happy,{isK1:!0,toolbox:i(l+j("studio_setSpriteEmotion"))}),m.c3_story_5=e.extend(m.octopus_happy,{}),m.c3_story_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")),startBlocks:''},m.move_penguin={ideal:8,requiredBlocks:[[{test:"move",type:"studio_move"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[1,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,0],[0,0,16,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,1,0,0,0,0,1,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,toolbox:i(j("studio_move")+j("studio_saySprite")),startBlocks:' '},m.c2_6=e.extend(m.move_penguin,{}),m.c3_game_2=e.extend(m.move_penguin,{}),m.playlab_6=e.extend(m.move_penguin,{}),m.dino_up_and_down={ideal:11,requiredBlocks:[[{test:"moveDistance",type:"studio_moveDistance",titles:{SPRITE:"1",DISTANCE:"400"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,protaganistSpriteIndex:1,timeoutFailureTick:150,minWorkspaceHeight:800,toolbox:i(' 400 1 1'),startBlocks:' 8 2 1 4 '},m.c2_7=e.extend(m.dino_up_and_down,{}),m.c3_game_3=e.extend(m.dino_up_and_down,{}),m.playlab_7=e.extend(m.dino_up_and_down,{}),m.penguin_ouch={ideal:14,requiredBlocks:[c({sprite:"0",requiredText:d.ouchExclamation()}),[{test:"playSound",type:"studio_playSound"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:900,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(1)}},timeoutFailureTick:300,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")),startBlocks:' 8 2 1 4 1 400 1 400 4 '},m.c2_8=e.extend(m.penguin_ouch,{}),m.c3_game_4=e.extend(m.penguin_ouch,{}),m.penguin_touch_octopus={ideal:16,requiredBlocks:[[{test:"changeScore",type:"studio_changeScore"}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1050,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2'},m.c2_9=e.extend(m.penguin_touch_octopus,{}),m.c3_game_5=e.extend(m.penguin_touch_octopus,{}),m.playlab_8=e.extend(m.penguin_touch_octopus,{}),m.change_background_and_speed={ideal:19,requiredBlocks:[[{test:"setBackground",type:"studio_setBackground",titles:{VALUE:'"night"'}}],[{test:"setSpriteSpeed",type:"studio_setSpriteSpeed",titles:{VALUE:"Studio.SpriteSpeed.FAST"}}]],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],map:[[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[16,0,0,0,16,0,16,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],firstSpriteIndex:2,minWorkspaceHeight:1250,goal:{successCondition:function(){return Studio.sprite[0].isCollidingWith(2)}},timeoutFailureTick:600,toolbox:i(' "night" 400 1'+j("studio_saySprite")+j("studio_playSound")+j("studio_changeScore")+' Studio.SpriteSpeed.FAST'),startBlocks:' 8 2 1 4 1 400 1 400 4 Ouch! 2 '},m.c2_10=e.extend(m.change_background_and_speed,{}),m.c3_game_6=e.extend(m.change_background_and_speed,{}),m.playlab_9=e.extend(m.change_background_and_speed,{}),m.sandbox={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!1,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(j("studio_setSprite")+j("studio_setBackground")+j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided")+j("studio_repeatForever")+j("studio_showTitleScreen")+j("studio_move")+j("studio_moveDistance")+j("studio_stop")+j("studio_wait")+j("studio_playSound")+j("studio_changeScore")+j("studio_saySprite")+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")),startBlocks:''},m.c2_11=e.extend(m.sandbox,{}),m.c3_game_7=e.extend(m.sandbox,{}),m.playlab_10=e.extend(m.sandbox,{}),m.k1_6={ideal:1/0,requiredBlocks:[],scale:{snapRadius:2},minWorkspaceHeight:1500,spritesHiddenToStart:!0,freePlay:!0,map:[[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,0,16,0,16,0,16,0],[0,16,0,16,0,16,0,0],[16,16,16,16,16,16,16,0],[0,0,0,0,0,0,0,0]],isK1:!0,softButtons:[],toolbox:i(j("studio_setSprite")+j("studio_saySprite")+l+j("studio_whenSpriteCollided")+j("studio_setBackground")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_playSound")+j("studio_vanish")),startBlocks:' 0 '},m.k1_block_test=e.extend(m[99],{toolbox:i(j("studio_setSprite")+j("studio_moveNorth")+j("studio_moveSouth")+j("studio_moveEast")+j("studio_moveWest")+j("studio_moveNorth_length")+j("studio_moveSouth_length")+j("studio_moveEast_length")+j("studio_moveWest_length")),isK1:!0}),m.full_sandbox={scrollbars:!0,requiredBlocks:[],scale:{snapRadius:2},softButtons:["leftButton","rightButton","downButton","upButton"],minWorkspaceHeight:1400,edgeCollisions:!0,projectileCollisions:!0,allowSpritesOutsidePlayspace:!0,spritesHiddenToStart:!0,freePlay:!0,map:[[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,16,0,0,0,16,0,0],[0,0,0,0,0,0,0,0]],toolbox:i(k(d.catActions(),j("studio_setSprite")+j("studio_setBackground")+' '+j("studio_move")+' 25 '+j("studio_stop")+' 1 '+j("studio_playSound")+' '+j("studio_setSpritePosition")+j("studio_throw")+j("studio_makeProjectile")+j("studio_setSpriteSpeed")+j("studio_setSpriteEmotion")+j("studio_vanish")+j("studio_setSpriteSize"))+k(d.catEvents(),j("studio_whenArrow")+j("studio_whenSpriteClicked")+j("studio_whenSpriteCollided"))+k(d.catControl(),j("studio_repeatForever")+' 10 '+j("controls_whileUntil")+' 1 10 1 '+j("controls_flow_statements"))+k(d.catLogic(),j("controls_if")+j("logic_compare")+j("logic_operation")+j("logic_negate")+j("logic_boolean"))+k(d.catMath(),j("math_number")+' 1 1 100 '+j("math_arithmetic"))+k(d.catText(),j("text")+j("text_join")+' ')+k(d.catVariables(),"","VARIABLE")+k(d.catProcedures(),"","PROCEDURE")),startBlocks:''} -},{"../../locale/zh_tw/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value,y.setSprite({spriteIndex:a.spriteIndex,value:y.sprite[a.spriteIndex].value})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH); +},{"../../locale/zh_tw/studio":41,"../block_utils":3,"../utils":38,"./tiles":25}],21:[function(a){(function(b){var c=a("../appMain");window.Studio=a("./studio"),"undefined"!=typeof b&&(b.Studio=window.Studio);var d=a("./blocks"),e=a("./levels"),f=a("./skins");window.studioMain=function(a){a.skinsModule=f,a.blocksModule=d,c(window.Studio,e,a)}}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../appMain":1,"./blocks":16,"./levels":20,"./skins":23,"./studio":24}],22:[function(a,b){var c=a("./collidable"),d=a("./tiles").Direction,e=a("./tiles"),f=0,g={};g[d.EAST]=0,g[d.SOUTH]=90,g[d.WEST]=180,g[d.NORTH]=270;var h={};h[d.NORTH]={x:.5,y:0},h[d.EAST]={x:1,y:.5},h[d.SOUTH]={x:.5,y:1},h[d.WEST]={x:0,y:.5};var i={};i[d.NORTH]={x:0,y:-25},i[d.EAST]={x:25,y:0},i[d.SOUTH]={x:0,y:25},i[d.WEST]={x:-25,y:0};var j=function(a){c.apply(this,arguments),this.height=a.height||50,this.width=a.width||50,this.speed=a.speed||e.DEFAULT_SPRITE_SPEED/2,this.isFireball_=-1!==this.className.indexOf("fireball"),this.frames=this.isFireball_?8:1,this.currentFrame_=0;var b=this;this.animator_=window.setInterval(function(){b.currentFrame_=(b.currentFrame_+1)%b.frames},50),this.x=a.spriteX+i[a.dir].x+a.spriteWidth*h[a.dir].x,this.y=a.spriteY+i[a.dir].y+a.spriteHeight*h[a.dir].y};j.prototype=new c,b.exports=j,j.prototype.createElement=function(a){this.clipPath=document.createElementNS(Blockly.SVG_NS,"clipPath");var b="projectile_clippath_"+f++;this.clipPath.setAttribute("id",b);var c=document.createElementNS(Blockly.SVG_NS,"rect");c.setAttribute("width",this.width),c.setAttribute("height",this.height),this.clipPath.appendChild(c),a.appendChild(this.clipPath),this.element=document.createElementNS(Blockly.SVG_NS,"image"),this.element.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.image),this.element.setAttribute("height",this.height),this.element.setAttribute("width",this.width*this.frames),a.appendChild(this.element),this.element.setAttribute("clip-path","url(#"+b+")")},j.prototype.removeElement=function(){this.element&&(this.element.parentNode.removeChild(this.element),this.element=null),this.clipPath&&(this.clipPath.parentNode.removeChild(this.clipPath),this.clipPath=null),this.animator_&&(window.clearInterval(this.animator_),this.animator_=null)},j.prototype.display=function(){var a={x:this.x-this.width/2,y:this.y-this.height/2};this.element.setAttribute("x",a.x-this.width*this.currentFrame_),this.element.setAttribute("y",a.y);var b=this.clipPath.childNodes[0];b.setAttribute("x",a.x),b.setAttribute("y",a.y),this.isFireball_&&this.element.setAttribute("transform","rotate("+g[this.dir]+", "+this.x+", "+this.y+")")},j.prototype.getNextPosition=function(){var a=d.getUnitVector(this.dir);return{x:this.x+this.speed*a.x,y:this.y+this.speed*a.y}},j.prototype.moveToNextPosition=function(){var a=this.getNextPosition();this.x=a.x,this.y=a.y}},{"./collidable":17,"./tiles":25}],23:[function(a,b,c){var d=a("../skins"),e={studio:{}};c.load=function(a,b){var c=d.load(a,b),f=e[c.id];if(c.hardcourt={background:c.assetUrl("background.png")},c.black={background:c.assetUrl("retro_background.png")},c.cave={background:c.assetUrl("background_cave.png")},c.night={background:c.assetUrl("background_santa.png")},c.cloudy={background:c.assetUrl("background_scifi.png")},c.underwater={background:c.assetUrl("background_underwater.png")},c.city={background:c.assetUrl("background_city.png")},c.desert={background:c.assetUrl("background_desert.png")},c.rainbow={background:c.assetUrl("background_rainbow.png")},c.soccer={background:c.assetUrl("background_soccer.png")},c.space={background:c.assetUrl("background_space.png")},c.tennis={background:c.assetUrl("background_tennis.png")},c.winter={background:c.assetUrl("background_winter.png")},c.avatarList=["dog","cat","penguin","dinosaur","octopus","witch","bat","bird","dragon","squirrel","wizard","alien","ghost","monster","robot","unicorn","zombie","knight","ninja","pirate","caveboy","cavegirl","princess","spacebot","soccergirl","soccerboy","tennisgirl","tennisboy"],c.avatarList.forEach(function(a){c[a]={sprite:c.assetUrl(a+"_spritesheet_200px.png"),dropdownThumbnail:c.assetUrl(a+"_thumb.png"),spriteFlags:28}}),c.yellow_hearts=c.assetUrl("yellow_hearts.gif"),c.purple_hearts=c.assetUrl("purple_hearts.gif"),c.red_hearts=c.assetUrl("red_hearts.gif"),c.blue_fireball=c.assetUrl("blue_fireball.png"),c.purple_fireball=c.assetUrl("purple_fireball.png"),c.red_fireball=c.assetUrl("red_fireball.png"),c.explosion=c.assetUrl("explosion.gif"),c.explosionThumbnail=c.assetUrl("explosion_thumb.png"),c.whenUp=c.assetUrl("when-up.png"),c.whenDown=c.assetUrl("when-down.png"),c.whenLeft=c.assetUrl("when-left.png"),c.whenRight=c.assetUrl("when-right.png"),c.collide=c.assetUrl("when-sprite-collide.png"),c.emotionAngry=c.assetUrl("emotion-angry.png"),c.emotionNormal=c.assetUrl("emotion-nothing.png"),c.emotionSad=c.assetUrl("emotion-sad.png"),c.emotionHappy=c.assetUrl("emotion-happy.png"),c.speechBubble=c.assetUrl("say-sprite.png"),c.goal=c.assetUrl("goal.png"),c.goalSuccess=c.assetUrl("goal_success.png"),c.approachingGoalAnimation=c.assetUrl(f.approachingGoalAnimation),c.rubberSound=[c.assetUrl("wall.mp3"),c.assetUrl("wall.ogg")],c.flagSound=[c.assetUrl("win_goal.mp3"),c.assetUrl("win_goal.ogg")],c.crunchSound=[c.assetUrl("wall0.mp3"),c.assetUrl("wall0.ogg")],c.winPointSound=[c.assetUrl("1_we_win.mp3"),c.assetUrl("1_we_win.ogg")],c.winPoint2Sound=[c.assetUrl("2_we_win.mp3"),c.assetUrl("2_we_win.ogg")],c.losePointSound=[c.assetUrl("1_we_lose.mp3"),c.assetUrl("1_we_lose.ogg")],c.losePoint2Sound=[c.assetUrl("2_we_lose.mp3"),c.assetUrl("2_we_lose.ogg")],c.goal1Sound=[c.assetUrl("1_goal.mp3"),c.assetUrl("1_goal.ogg")],c.goal2Sound=[c.assetUrl("2_goal.mp3"),c.assetUrl("2_goal.ogg")],c.woodSound=[c.assetUrl("1_paddle_bounce.mp3"),c.assetUrl("1_paddle_bounce.ogg")],c.retroSound=[c.assetUrl("2_paddle_bounce.mp3"),c.assetUrl("2_paddle_bounce.ogg")],c.slapSound=[c.assetUrl("1_wall_bounce.mp3"),c.assetUrl("1_wall_bounce.ogg")],c.hitSound=[c.assetUrl("2_wall_bounce.mp3"),c.assetUrl("2_wall_bounce.ogg")],void 0!==f.background){var g=Math.floor(Math.random()*f.background);c.background=c.assetUrl("background"+g+".png")}else c.background=c.assetUrl("background.png");return c.spriteHeight=f.spriteHeight||100,c.spriteWidth=f.spriteWidth||100,c.dropdownThumbnailWidth=50,c.dropdownThumbnailHeight=50,c}},{"../skins":13}],24:[function(a,b){"use strict";function c(){y.map=z.map,y.timeoutFailureTick=z.timeoutFailureTick||1/0,y.minWorkspaceHeight=z.minWorkspaceHeight,y.softButtons_=z.softButtons||{},y.protaganistSpriteIndex=z.protaganistSpriteIndex||0,y.startAvatars=d(A.avatarList,z.firstSpriteIndex);for(var a in z.scale)y.scale[a]=z.scale[a];y.ROWS=y.map.length,y.COLS=y.map[0].length,y.SQUARE_SIZE=50,y.DEFAULT_SPRITE_HEIGHT=A.spriteHeight,y.DEFAULT_SPRITE_WIDTH=A.spriteWidth,y.MARKER_HEIGHT=100,y.MARKER_WIDTH=100,y.MAZE_WIDTH=y.SQUARE_SIZE*y.COLS,y.MAZE_HEIGHT=y.SQUARE_SIZE*y.ROWS}function d(a,b){return b=b||0,t.flatten([a.slice(b),a.slice(0,b)])}function e(a,b,c,d,e,f){return Math.abs(a-b)<=c&&Math.abs(d-e)<=f}function f(){for(var a=function(a){y.executeQueue("whenSpriteCollided-"+f+"-"+a)},b=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.sprite[b].height:y.sprite[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},c=function(a,b,c){var d=c?y.sprite[a].height:y.sprite[a].width,e=c?y.projectiles[b].height:y.projectiles[b].width;return j.SPRITE_COLLIDE_DISTANCE_SCALING*(d+e)/2},d=function(a,b,c){var d,e=c?y.sprite[a].height:y.sprite[a].width;return d="left"===b||"right"===b?c?y.MAZE_HEIGHT:0:c?0:y.MAZE_WIDTH,(e+d)/2},f=0;fa.width-2*a.sideMargin){if(c.firstChild.data=c.firstChild.data.slice(0,g),a.maxLines===e)return a.fullHeight;c=document.createElementNS("http://www.w3.org/2000/svg","tspan"),c.setAttribute("x",a.width/2),c.setAttribute("dy",a.lineHeight),d=document.createTextNode(b[f]),c.appendChild(d),a.svgText.appendChild(c),e++}}var h=a.maxLines-Math.max(1,e);return a.fullHeight-h*a.lineHeight},mb=function(a,b){y.eventHandlers.forEach(function(c){if(c.name===a&&(b||!c.cmdQueue||0===c.cmdQueue.length)){c.cmdQueue||(c.cmdQueue=[]),y.currentCmdQueue=c.cmdQueue;try{c.func(h,l,y.Globals)}catch(d){}y.currentCmdQueue=null}})};y.onTick=function(){y.tickCount++,1===y.tickCount&&mb("whenGameStarts"),y.executeQueue("whenGameStarts"),mb("repeatForever"),y.executeQueue("repeatForever");for(var a=0;aDb&&(y.sprite[a].dir=u.SOUTH),y.displaySprite(a);for(a=0;a=G.LEFT&&a.keyCode<=G.DOWN&&a.preventDefault()},y.onArrowButtonDown=function(a,b){y.btnState[b]=B.DOWN,a.preventDefault()},y.onSpriteClicked=function(a,b){y.intervalId&&mb("whenSpriteClicked-"+b),a.preventDefault()},y.onSvgClicked=function(a){y.intervalId&&y.eventHandlers.forEach(function(a){var b=a.cmdQueue?a.cmdQueue[0]:null;b&&b.opts.waitForClick&&!b.opts.complete&&(b.opts.waitCallback&&b.opts.waitCallback(),b.opts.complete=!0)}),a.preventDefault()},y.onArrowButtonUp=function(a,b){y.btnState[b]=B.UP},y.onMouseUp=function(){y.btnState={}},y.initSprites=function(){y.spriteCount=0,y.sprite=[],y.projectiles=[],y.spriteGoals_=[];for(var a=0;a=h.TestResults.FREE_PLAY?"win":"failure"),z.editCode&&(y.testResults=a?h.TestResults.ALL_PASS:h.TestResults.TOO_FEW_BLOCKS_FAIL);var b=Blockly.Xml.workspaceToDom(Blockly.mainWorkspace),c=Blockly.Xml.domToText(b);y.waitingForReport=!0,h.report({app:"studio",level:z.id,result:y.result===h.ResultType.SUCCESS,testResult:y.testResults,program:encodeURIComponent(c),onComplete:y.onReportComplete})};var zb={};zb[u.SOUTHEAST]=0,zb[u.EAST]=1,zb[u.NORTHEAST]=2,zb[u.NORTH]=3,zb[u.NORTHWEST]=4,zb[u.WEST]=5,zb[u.SOUTHWEST]=6;var Ab=6,Bb=7,Cb=8,Db=5,Eb=function(a){var b=y.sprite[a],c=0;return b.flags&C.TURNS&&b.displayDir!==u.SOUTH?b.firstTurnFrameNum+zb[b.displayDir]:(b.flags&C.ANIMATION&&y.tickCount&&1===Math.round((y.tickCount+a*Bb)/Ab)%Cb&&(c=b.firstAnimFrameNum),b.emotion!==x.NORMAL&&b.flags&C.EMOTIONS?c?c:b.firstEmotionFrameNum+(b.emotion-1):c)},Fb=function(a){var b=E.NORMAL;return y.sprite[a].flags&C.ANIMATION&&(b+=E.ANIMATION),y.sprite[a].flags&C.TURNS&&(b+=E.TURNS),y.sprite[a].flags&C.EMOTIONS&&(b+=E.EMOTIONS),b},Gb=function(a){var b=+a.getAttribute("height"),c="true"===a.getAttribute("onTop"),d="true"===a.getAttribute("onRight");a.setAttribute("d",Mb(0,0,ab,b,V,c,d))};y.displaySprite=function(a){var b=y.sprite[a],c=b.width*Eb(a),d=document.getElementById("sprite"+a),e=document.getElementById("spriteClipRect"+a),f=e.getAttribute("x"),g=e.getAttribute("y"),h=b.dir;h===u.NONE?b.dir=u.SOUTH:(b.x!=f||b.y!=g)&&(b.dir=u.NONE,b.xf&&(b.dir|=u.EAST),b.yg&&(b.dir|=u.SOUTH)),b.dir!==b.displayDir&&y.tickCount&&0===y.tickCount%2&&(b.displayDir=v[b.displayDir][b.dir]),d.setAttribute("x",b.x-c),d.setAttribute("y",b.y),e.setAttribute("x",b.x),e.setAttribute("y",b.y);var i=document.getElementById("speechBubble"+a),j=document.getElementById("speechBubblePath"+a),k=+j.getAttribute("height"),l="true"===j.getAttribute("onTop"),m="true"===j.getAttribute("onRight"),n=!0,o=!0,p=b.y-(k+X);0>p&&(p=b.y+b.height+X,n=!1);var q=b.x+W;q>y.MAZE_WIDTH-ab&&(q=b.x+b.width-(ab+W),o=!1),j.setAttribute("onTop",n),j.setAttribute("onRight",o),(l!==n||m!==o)&&Gb(j),i.setAttribute("transform","translate("+q+","+p+")")},y.displayScore=function(){var a=document.getElementById("score");a.textContent=y.scoreText?y.scoreText:i.scoreText({playerScore:y.playerScore}),a.setAttribute("visibility","visible")},y.queueCmd=function(a,b,c){var d={id:a,name:b,opts:c};if(y.currentEventParams)for(var e in y.currentEventParams)d.opts[e]=y.currentEventParams[e];y.currentCmdQueue.push(d)},y.executeQueue=function(a){y.eventHandlers.forEach(function(b){if(b.name===a&&b.cmdQueue)for(var c=b.cmdQueue[0];c&&y.callCmd(c);c=b.cmdQueue[0])b.cmdQueue.shift()})},y.callCmd=function(a){switch(a.name){case"setBackground":h.highlight(a.id),y.setBackground(a.opts);break;case"setSprite":h.highlight(a.id),y.setSprite(a.opts);break;case"saySprite":return a.opts.started||h.highlight(a.id),y.saySprite(a.opts);case"setSpriteEmotion":h.highlight(a.id),y.setSpriteEmotion(a.opts);break;case"setSpriteSpeed":h.highlight(a.id),y.setSpriteSpeed(a.opts);break;case"setSpriteSize":h.highlight(a.id),y.setSpriteSize(a.opts);break;case"setSpritePosition":h.highlight(a.id),y.setSpritePosition(a.opts);break;case"playSound":h.highlight(a.id),h.playAudio(a.opts.soundName,{volume:1}),y.playSoundCount++;break;case"showTitleScreen":return a.opts.started||h.highlight(a.id),y.showTitleScreen(a.opts);case"move":h.highlight(a.id),y.moveSingle(a.opts);break;case"moveDistance":return a.opts.started||h.highlight(a.id),y.moveDistance(a.opts);case"stop":h.highlight(a.id),y.stop(a.opts);break;case"throwProjectile":return a.opts.started||h.highlight(a.id),y.throwProjectile(a.opts);case"makeProjectile":h.highlight(a.id),y.makeProjectile(a.opts);break;case"changeScore":h.highlight(a.id),y.changeScore(a.opts);break;case"setScoreText":h.highlight(a.id),y.setScoreText(a.opts);break;case"wait":return a.opts.started||h.highlight(a.id),y.wait(a.opts);case"vanish":h.highlight(a.id),y.vanishActor(a.opts)}return!0},y.vanishActor=function(a){var b=document.getElementById("svgStudio"),c=document.getElementById("sprite"+a.spriteIndex);if(c&&"hidden"!==c.getAttribute("visibility")){var d=document.getElementById("explosion"+a.spriteIndex);d||(d=document.createElementNS(Blockly.SVG_NS,"image"),d.setAttribute("id","explosion"+a.spriteIndex),d.setAttribute("visibility","hidden"),b.appendChild(d,c));var e=document.getElementById("spriteClipRect"+a.spriteIndex);d.setAttribute("height",y.sprite[a.spriteIndex].height),d.setAttribute("width",y.sprite[a.spriteIndex].width),d.setAttribute("x",e.getAttribute("x")),d.setAttribute("y",e.getAttribute("y")),d.setAttribute("visibility","visible"),y.setSprite({spriteIndex:a.spriteIndex,value:"hidden"}),d.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A.explosion+"?spriteIndex="+a.spriteIndex)}},y.setSpriteEmotion=function(a){y.sprite[a.spriteIndex].emotion=a.value},y.setSpriteSpeed=function(a){y.sprite[a.spriteIndex].speed=a.value},y.setSpriteSize=function(a){y.sprite[a.spriteIndex].size=a.value;var b=y.sprite[a.spriteIndex].value;"hidden"!==b&&y.setSprite({spriteIndex:a.spriteIndex,value:b})},y.changeScore=function(a){y.playerScore+=Number(a.value),y.displayScore()},y.setScoreText=function(a){y.scoreText=a.text,y.displayScore()},y.setBackground=function(a){var b=document.getElementById("background");b.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[a.value].background)};var Hb=function(a){var b=y.sprite[a].flags;y.sprite[a].firstAnimFrameNum=E.NORMAL,y.sprite[a].firstTurnFrameNum=E.NORMAL+(b&C.ANIMATION?E.ANIMATION:0),y.sprite[a].firstEmotionFrameNum=y.sprite[a].firstTurnFrameNum+(b&C.TURNS?E.TURNS:0)};y.setSprite=function(a){var b=a.spriteIndex,c=y.sprite[b],d=a.value,e=document.getElementById("sprite"+b);if(c.visible="hidden"!==d&&!a.forceHidden,e.setAttribute("visibility",c.visible?"visible":"hidden"),"hidden"!==d&&"visible"!==d){c.flags&=~D,c.flags|=A[d].spriteFlags,c.height=c.size*(A[d].spriteHeight||y.DEFAULT_SPRITE_HEIGHT),c.width=c.size*(A[d].spriteWidth||y.DEFAULT_SPRITE_WIDTH),c.value=a.forceHidden?"hidden":a.value; var f=document.getElementById("spriteClipRect"+b);f.setAttribute("width",c.width),f.setAttribute("height",c.height),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",A[d].sprite),e.setAttribute("width",c.width*Fb(b)),e.setAttribute("height",c.height),Hb(b),y.displaySprite(b)}};var Ib=function(a,b){return a+" "+b+" "},Jb=15,Kb=25,Lb=10,Mb=function(a,b,c,d,e,f,g){var h="M"+Ib(a+e,b);return f||(h+=g?"L"+Ib(a+e-Lb,b-Jb)+"L"+Ib(a+e+Kb,b):"L"+Ib(a+c-e-Kb,b)+"L"+Ib(a+c-Lb,b-Jb)),h+="L"+Ib(a+c-e,b),h+="Q"+Ib(a+c,b)+Ib(a+c,b+e),h+="L"+Ib(a+c,b+d-e)+"Q"+Ib(a+c,b+d)+Ib(a+c-e,b+d),f&&(h+=g?"L"+Ib(a+e+Kb,b+d)+"L"+Ib(a+e-Lb,b+d+Jb):"L"+Ib(a+c-Lb,b+d+Jb)+"L"+Ib(a+c-e-Kb,b+d)),h+="L"+Ib(a+e,b+d),h+="Q"+Ib(a,b+d)+Ib(a,b+d-e),h+="L"+Ib(a,b+e)+"Q"+Ib(a,b)+Ib(a+e,b),h+="Z"},Nb=function(a){a.complete||(a.waitCallback&&a.waitCallback(),a.complete=!0)};y.wait=function(a){return a.started||(a.started=!0,"click"===a.value?a.waitForClick=!0:a.waitTimeout=window.setTimeout(gb(this,Nb,a),a.value)),a.complete},y.hideTitleScreen=function(a){var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup");b.setAttribute("visibility","hidden"),c.setAttribute("visibility","hidden"),a.complete=!0},y.showTitleScreen=function(a){if(!a.started){a.started=!0;var b=document.getElementById("titleScreenTitle"),c=document.getElementById("titleScreenTextGroup"),d=document.getElementById("titleScreenText"),e=document.getElementById("titleScreenTextRect");b.textContent=a.title;var f={svgText:d,text:a.text,width:S,lineHeight:O,topMargin:Q,sideMargin:N,maxLines:P,fullHeight:T},g=lb(f);e.setAttribute("height",g),b.setAttribute("visibility","visible"),c.setAttribute("visibility","visible"),a.waitForClick=!0,a.waitCallback=gb(this,y.hideTitleScreen,a),a.waitTimeout=window.setTimeout(gb(this,Nb,a),K)}return a.complete},y.isCmdCurrentInQueue=function(a,b){var c=!1;return y.eventHandlers.forEach(function(d){if(d.name===b){var e=d.cmdQueue?d.cmdQueue[0]:null;e&&e.name===a&&(c=!0)}}),c},y.hideSpeechBubble=function(a){var b=document.getElementById("speechBubble"+a.spriteIndex);b.setAttribute("visibility","hidden"),b.removeAttribute("onTop"),b.removeAttribute("onRight"),b.removeAttribute("height"),a.complete=!0,delete y.sprite[a.spriteIndex].bubbleTimeoutFunc,y.sayComplete++},y.saySprite=function(a){if(a.started)return a.complete;var b=a.spriteIndex,c=y.sprite[b];if(a.started=!0,c.bubbleTimeoutFunc&&c.bubbleTimeoutFunc(),window.clearTimeout(c.bubbleTimeout),!c.visible)return a.complete=!0,a.complete;var d=document.getElementById("speechBubbleText"+b),e={svgText:d,text:a.text,width:ab,lineHeight:Z,topMargin:_,sideMargin:Y,maxLines:$,fullHeight:bb},f=lb(e),g=document.getElementById("speechBubblePath"+b),h=document.getElementById("speechBubble"+b);return g.setAttribute("height",f),Gb(g),y.displaySprite(a.spriteIndex),h.setAttribute("visibility","visible"),c.bubbleTimeoutFunc=gb(this,y.hideSpeechBubble,a),c.bubbleTimeout=window.setTimeout(c.bubbleTimeoutFunc,U),a.complete},y.stop=function(a){if(ib(a.spriteIndex,!0),ib(a.spriteIndex,!1),!a.dontResetCollisions){y.sprite[a.spriteIndex].clearCollisions();for(var b=0;bc&&!z.allowSpritesOutsidePlayspace&&(b.x=c);break;case u.SOUTH:b.y+=b.speed;var d=y.MAZE_HEIGHT-b.height;b.y>d&&!z.allowSpritesOutsidePlayspace&&(b.y=d);break;case u.WEST:b.x-=b.speed,b.x<0&&!z.allowSpritesOutsidePlayspace&&(b.x=0)}},y.moveDistance=function(a){return a.started||(a.started=!0,a.queuedDistance=a.distance),0===a.queuedDistance},y.timedOut=function(){return y.tickCount>y.timeoutFailureTick},y.allGoalsVisited=function(){var a,b,c=y.sprite[y.protaganistSpriteIndex],d=0;if(0===y.spriteGoals_.length)return!1;for(a=0;a/g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n
\n
\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],27:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
Instructions:
\n
Level Name:
\n\n
\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],28:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_tw/common");buf.push("\n\n"),data.ok&&buf.push('
\n \n
\n"),buf.push("\n"),data.previousLevel&&buf.push(' \n"),buf.push("\n"),data.tryAgain&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.tryAgain()),"
\n
\n "):(buf.push(" "),"left"===data.hintRequestExperiment?buf.push(' \n \n "):"right"==data.hintRequestExperiment?buf.push(' \n \n "):buf.push(' \n "),buf.push(" ")),buf.push("")),buf.push("\n"),data.nextLevel&&(buf.push(" "),data.isK1&&!data.freePlay?buf.push('
\n
Arrowhead
\n
',escape(a.continue()),"
\n
\n "):buf.push(' \n "),buf.push("")),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],29:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('
\n

',message,'

\n
',escape(code),"
\n
\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],30:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_tw/common");buf.push("\n\n

",escape(a.puzzleTitle(locals)),"

\n"),locals.instructions&&buf.push("

",escape(locals.instructions),"

\n"),buf.push(""),locals.aniGifURL&&buf.push(' \n"),buf.push("")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],31:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_tw/common");buf.push("\n\n");var b=location.protocol+"//"+location.host.replace("learn.","");buf.push('\n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],32:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");require("../../locale/zh_tw/common");buf.push('\n\n\n\n");var c=function(){buf.push('
\n \n \n \n \n \n
\n \n \n

\n

\n
\n
\n
\n \n
\n
\n
\n')};buf.push("\n");var d=function(a){buf.push(" "),a&&buf.push('
\n ',a,"\n
\n "),buf.push("")};buf.push("\n");var e=function(){buf.push('
\n // ',escape(a.typeCode()),"\n
\n // ",escape(a.typeHint()),"\n
\n
\n")};buf.push('\n\n
\n
\n ',data.visualization,'\n
\n\n
\n\n
\n \n \n '),data.controls&&buf.push("\n ",data.controls,"\n "),buf.push("\n "),data.extraControlRows&&buf.push("\n ",data.extraControlRows,"\n "),buf.push("\n
\n\n "),c(),buf.push("\n "),d(data.helpHtml),buf.push('\n\n
\n
\n\n
\n
\n
',escape(a.toolboxHeader()),'
\n
\n ',escape(a.workspaceHeader()),' \n
\n
\n  /\n ',escape(data.idealBlockNumber),'\n
\n
\n
',escape(a.showCodeHeader()),'
\n
\n
\n\n
\n\n'),e(),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],34:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push('\n\n\n \n Blockly\n \n \n \n\n\n
\n \n\n\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],35:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_tw/common");buf.push("\n"),options.feedbackImage&&buf.push('\n \n'),buf.push('\n\n
\n\n')}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],36:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("");var a=require("../../locale/zh_tw/common");buf.push('\n\n

\n ',escape(a.numLinesOfCodeWritten({numLines:numLinesWritten})),'\n \n

\n\n"),0!==totalNumLinesWritten&&buf.push('\n

\n ',escape(a.totalNumLinesOfCodeWritten({numLines:totalNumLinesWritten})),"\n

\n"),buf.push("\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{"../../locale/zh_tw/common":40,ejs:42}],37:[function(require,module,exports){module.exports=function(){var t=function anonymous(locals,filters,escape,rethrow){escape=escape||function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")};var buf=[];with(locals||{})!function(){buf.push("

",escape(concept_name),"
\n")}();return buf.join("")};return function(a){return t(a,require("ejs").filters)}}()},{ejs:42}],38:[function(a,b,c){{var d=a("./lodash");a("./xml")}c.shallowCopy=function(a){var b={};for(var c in a)b[c]=a[c];return b},c.cloneWithoutFunctions=function(a){return JSON.parse(JSON.stringify(a))},c.extend=function(a,b){var d=c.shallowCopy(a);for(var e in b)d[e]=b[e];return d},c.escapeHtml=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},c.mod=function(a,b){return(a%b+b)%b},c.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},c.executeIfConditional=function(a,b){return function(){return a()?b.apply(this,arguments):void 0}},c.stripQuotes=function(a){return a.replace(/["']/g,"")},Function.prototype.inherits=function(a){this.prototype=d.create(a.prototype,{constructor:a})},c.wrapNumberValidatorsForLevelBuilder=function(){var a=Blockly.FieldTextInput.nonnegativeIntegerValidator,b=Blockly.FieldTextInput.numberValidator;Blockly.FieldTextInput.nonnegativeIntegerValidator=function(b){return"???"===b?b:a(b)},Blockly.FieldTextInput.numberValidator=function(a){return"???"===a?a:b(a)}}},{"./lodash":11,"./xml":39}],39:[function(a,b,c){c.serialize=function(a){var b=new XMLSerializer;return b.serializeToString(a)},c.parseElement=function(a){var b=new DOMParser;a=a.trim();var d=0===a.indexOf(""+a+"","text/xml"),e=d.getElementsByTagName("parsererror"),f=d.firstChild;if(!f)throw new Error("Nothing parsed");if(e.length>0)throw new Error(c.serialize(e[0]));if(f!==d.lastChild)throw new Error("Parsed multiple elements");return f}},{}],40:[function(a,b,c){var d=a("messageformat");d.locale.zh=function(){return"other"},c.and=function(){return"及"},c.blocklyMessage=function(){return"模組化"},c.catActions=function(){return"動作類別"},c.catColour=function(){return"顏色類別"},c.catLogic=function(){return"邏輯類別"},c.catLists=function(){return"清單/陣列類"},c.catLoops=function(){return"迴圈類別"},c.catMath=function(){return"運算類別"},c.catProcedures=function(){return"函數類別"},c.catText=function(){return"字串類別"},c.catVariables=function(){return"變數類別"},c.codeTooltip=function(){return"觀看產生的 JavaScript 程式碼。"},c.continue=function(){return"繼續 "},c.dialogCancel=function(){return"取消"},c.dialogOK=function(){return"確定"},c.directionNorthLetter=function(){return"北"},c.directionSouthLetter=function(){return"南"},c.directionEastLetter=function(){return"東"},c.directionWestLetter=function(){return"西"},c.end=function(){return"結束"},c.emptyBlocksErrorMsg=function(){return'"重複"和"如果"程式積木需要包含其它積木在裏面才能正常運作, 請檢查裏面是否有安排適當的程式積木.'},c.emptyFunctionBlocksErrorMsg=function(){return"The function block needs to have other blocks inside it to work."},c.extraTopBlocks=function(){return"你有一些程式積木還沒有加到事件積木中。"},c.finalStage=function(){return"恭喜你 !你已完成最後關卡的挑戰。"},c.finalStageTrophies=function(a){return"恭喜! 你已完成最後關卡並且贏得 "+p(a,"numTrophies",0,"zh",{one:"一個獎盃",other:n(a,"numTrophies")+" 獎盃"})+"."},c.finish=function(){return"Finish"},c.generatedCodeInfo=function(a){return'甚至頂尖大學也同樣以"程式積木"來進行程式教學。(例如 : '+v(a,"berkeleyLink")+", "+v(a,"harvardLink")+")。在程式積木的底層,所有組裝完成的程式積木功能,也可以用JavaScript 語法來顯示。"},c.hashError=function(){return"對不起,'%1' 無法對應任何已儲存的程式。"},c.help=function(){return"說明"},c.hintTitle=function(){return"提示:"},c.jump=function(){return"跳轉"},c.levelIncompleteError=function(){return"您已使用了所有必要類型的程式積木,但方式不太正確。"},c.listVariable=function(){return"列表變數\n"},c.makeYourOwnFlappy=function(){return"做出自己的 Flappy 遊戲"},c.missingBlocksErrorMsg=function(){return"請嘗試組合底下的程式積木來解決這一個關卡。"},c.nextLevel=function(a){return"恭喜你 !你已完成第"+v(a,"puzzleNumber")+"關。"},c.nextLevelTrophies=function(a){return"恭喜!你已經完成第"+v(a,"puzzleNumber")+"關,並且贏得"+p(a,"numTrophies",0,"zh",{one:"1個獎盃",other:n(a,"numTrophies")+" 獎盃"})+"."},c.nextStage=function(a){return" 恭喜你!你已經完成 "+v(a,"stageName")+"。"},c.nextStageTrophies=function(a){return"恭喜您!你已經完成第"+v(a,"stageNumber")+"階段,並贏得"+p(a,"numTrophies",0,"zh",{one:"1個獎盃",other:n(a,"numTrophies")+" 獎盃"})+"."},c.numBlocksNeeded=function(a){return"恭喜!你已經完成第 "+v(a,"puzzleNumber")+" 關。 (但是,你可以只使用 "+p(a,"numBlocks",0,"zh",{one:"一個程式積木",other:n(a,"numBlocks")+" 程式積木"})+".來完成挑戰哦!)"},c.numLinesOfCodeWritten=function(a){return"你已經撰寫了 "+p(a,"numLines",0,"zh",{one:"一行",other:n(a,"numLines")+" 行"})+" 的程式碼!"},c.play=function(){return"玩"},c.puzzleTitle=function(a){return"階段 "+v(a,"stage_total")+" 的第"+v(a,"puzzle_number")+" 關"},c.repeat=function(){return"重複"},c.resetProgram=function(){return"再試一次"},c.runProgram=function(){return"執行"},c.runTooltip=function(){return"執行工作區中程式積木所定義的程式碼。" },c.score=function(){return"分數"},c.showCodeHeader=function(){return"顯示程式碼"},c.showGeneratedCode=function(){return"顯示程式碼"},c.subtitle=function(){return"一個視覺化的程式設計環境\n\n"},c.textVariable=function(){return"文字變數"},c.tooFewBlocksMsg=function(){return"你已使用所有必要類型的程式積木,但請嘗試使用更多同類型的程式積木來完成這個關卡。"},c.tooManyBlocksMsg=function(){return"這個關卡可以用 < x id = 'START_SPAN' / > < x id = 'END_SPAN' / > 個程式積木解決。"},c.tooMuchWork=function(){return"你讓我做太多工作了! 可以試著減少一些重複次數嗎?"},c.toolboxHeader=function(){return"程式積木"},c.openWorkspace=function(){return"它如何運作的"},c.totalNumLinesOfCodeWritten=function(a){return"到目前為止共撰寫了:"+p(a,"numLines",0,"zh",{one:"1 line",other:n(a,"numLines")+" lines"})+" 行的程式碼。"},c.tryAgain=function(){return"再試一次"},c.hintRequest=function(){return"See hint"},c.backToPreviousLevel=function(){return"返回上一階段"},c.saveToGallery=function(){return"保存到您的收藏簿。"},c.savedToGallery=function(){return"已經存放到您的收藏簿了!"},c.typeCode=function(){return"在說明下方輸入您的 JavaScript 程式碼"},c.typeFuncs=function(){return"可用函數:%1"},c.typeHint=function(){return'請注意"括弧"和"分號"都是必須的。'},c.workspaceHeader=function(){return"在此組合您的區塊"},c.infinity=function(){return"無窮"},c.rotateText=function(){return"旋轉你的設備。"},c.orientationLock=function(){return"在設備設置中關閉旋轉鎖定。"},c.wantToLearn=function(){return"想要學習寫程式嗎?"},c.watchVideo=function(){return"觀看影片"},c.when=function(){return"當"},c.whenRun=function(){return"when run"},c.tryHOC=function(){return"試試 Hour of Code (一時編程網)"},c.signup=function(){return"報名參加簡介課程"},c.hintHeader=function(){return"提示:"},c.genericFeedback=function(){return"See how you ended up, and try to fix your program."}},{messageformat:53}],41:[function(a,b,c){var d=a("messageformat");d.locale.zh=function(){return"other"},c.actor=function(){return"演員"},c.catActions=function(){return"動作類別"},c.catControl=function(){return"迴圈類別"},c.catEvents=function(){return"事件類別"},c.catLogic=function(){return"邏輯類別"},c.catMath=function(){return"運算類別"},c.catProcedures=function(){return"函數類別"},c.catText=function(){return"文字類別"},c.catVariables=function(){return"變數類別"},c.changeScoreTooltip=function(){return"將得分增加或減少一分"},c.changeScoreTooltipK1=function(){return"增加一分"},c.continue=function(){return"繼續 "},c.decrementPlayerScore=function(){return"減少一分"},c.defaultSayText=function(){return"在此處輸入"},c.emotion=function(){return"情緒"},c.finalLevel=function(){return"恭喜你 !你已經解決了最後的關卡。"},c.hello=function(){return"你好"},c.helloWorld=function(){return"世界 您好!"},c.incrementPlayerScore=function(){return"得分"},c.makeProjectileDisappear=function(){return"消失"},c.makeProjectileBounce=function(){return"反彈"},c.makeProjectileBlueFireball=function(){return"make blue fireball"},c.makeProjectilePurpleFireball=function(){return"make purple fireball"},c.makeProjectileRedFireball=function(){return"make red fireball"},c.makeProjectileYellowHearts=function(){return"make yellow hearts"},c.makeProjectilePurpleHearts=function(){return"make purple hearts"},c.makeProjectileRedHearts=function(){return"make red hearts"},c.makeProjectileTooltip=function(){return"完成這個專案,讓互相碰撞的球消失或反彈。"},c.makeYourOwn=function(){return"完成你自己的故事"},c.moveDirectionDown=function(){return"向下"},c.moveDirectionLeft=function(){return" 向左"},c.moveDirectionRight=function(){return"向右\n"},c.moveDirectionUp=function(){return"向上"},c.moveDirectionRandom=function(){return"隨機移動"},c.moveDistance25=function(){return"25 個像素"},c.moveDistance50=function(){return"50個像素"},c.moveDistance100=function(){return"100個像素"},c.moveDistance200=function(){return"200個像素"},c.moveDistance400=function(){return"400個像素"},c.moveDistancePixels=function(){return"像素 "},c.moveDistanceRandom=function(){return"隨機像素"},c.moveDistanceTooltip=function(){return"將角色在指定的方向移動指定的距離"},c.moveSprite=function(){return"移動"},c.moveSpriteN=function(a){return"移動演員"+v(a,"spriteIndex")},c.moveDown=function(){return"向下移動"},c.moveDownTooltip=function(){return"將角色向下移動。"},c.moveLeft=function(){return"向左移動"},c.moveLeftTooltip=function(){return"將角色向左移動。"},c.moveRight=function(){return"向右移動"},c.moveRightTooltip=function(){return"將角色向右移動。"},c.moveUp=function(){return"向上移動"},c.moveUpTooltip=function(){return"將角色向上移動。"},c.moveTooltip=function(){return"移動角色。"},c.nextLevel=function(){return"恭喜!你已經完成這個關卡。"},c.no=function(){return"否"},c.numBlocksNeeded=function(){return"這個關卡可以使用 %1 個程式積木來完成。"},c.ouchExclamation=function(){return"哎喲 !"},c.playSoundCrunch=function(){return"播放收緊的音效"},c.playSoundGoal1=function(){return"播放得分1的音效"},c.playSoundGoal2=function(){return"播放得分2的音效"},c.playSoundHit=function(){return"播放命中的音效"},c.playSoundLosePoint=function(){return"播放失分的音效"},c.playSoundLosePoint2=function(){return"播放失分2的音效"},c.playSoundRetro=function(){return"播放復古的音效"},c.playSoundRubber=function(){return"播放橡膠的音效"},c.playSoundSlap=function(){return"播放掌聲音效"},c.playSoundTooltip=function(){return"播放所選音效"},c.playSoundWinPoint=function(){return"播放得分音效"},c.playSoundWinPoint2=function(){return"播放得分2的音效"},c.playSoundWood=function(){return"播放木頭音效"},c.positionOutTopLeft=function(){return"到左上角"},c.positionOutTopRight=function(){return"to the above top right position"},c.positionTopOutLeft=function(){return"to the top outside left position"},c.positionTopLeft=function(){return"to the top left position"},c.positionTopCenter=function(){return"to the top center position"},c.positionTopRight=function(){return"to the top right position"},c.positionTopOutRight=function(){return"to the top outside right position"},c.positionMiddleLeft=function(){return"to the middle left position"},c.positionMiddleCenter=function(){return"to the middle center position"},c.positionMiddleRight=function(){return"to the middle right position"},c.positionBottomOutLeft=function(){return"to the bottom outside left position"},c.positionBottomLeft=function(){return"to the bottom left position"},c.positionBottomCenter=function(){return"到底部的中心位置"},c.positionBottomRight=function(){return"to the bottom right position"},c.positionBottomOutRight=function(){return"to the bottom outside right position"},c.positionOutBottomLeft=function(){return"to the below bottom left position"},c.positionOutBottomRight=function(){return"to the below bottom right position"},c.positionRandom=function(){return"至隨機位置"},c.projectileBlueFireball=function(){return"blue fireball"},c.projectilePurpleFireball=function(){return"purple fireball"},c.projectileRedFireball=function(){return"red fireball"},c.projectileYellowHearts=function(){return"yellow hearts"},c.projectilePurpleHearts=function(){return"purple hearts"},c.projectileRedHearts=function(){return"red hearts"},c.projectileRandom=function(){return"隨機"},c.reinfFeedbackMsg=function(){return'您可以按"重試"按鈕返回你正在進行的故事。'},c.repeatForever=function(){return"永遠重複"},c.repeatDo=function(){return"執行"},c.repeatForeverTooltip=function(){return"當故事進行時,請不斷執行板塊中的動作。"},c.saySprite=function(){return"說"},c.saySpriteN=function(a){return"演員 "+v(a,"spriteIndex")+" 說"},c.saySpriteTooltip=function(){return"給指定的演員彈出相關的文字框。"},c.scoreText=function(a){return"得分: "+v(a,"playerScore")},c.setBackground=function(){return"設置背景"},c.setBackgroundRandom=function(){return"設置隨機背景"},c.setBackgroundBlack=function(){return"設置黑色背景"},c.setBackgroundCave=function(){return"設置洞穴背景"},c.setBackgroundCloudy=function(){return"設置多雲背景"},c.setBackgroundHardcourt=function(){return"設置硬地球場背景"},c.setBackgroundNight=function(){return"設置夜晚背景"},c.setBackgroundUnderwater=function(){return"設置水下背景"},c.setBackgroundCity=function(){return"set city background"},c.setBackgroundDesert=function(){return"set desert background"},c.setBackgroundRainbow=function(){return"set rainbow background"},c.setBackgroundSoccer=function(){return"set soccer background"},c.setBackgroundSpace=function(){return"set space background"},c.setBackgroundTennis=function(){return"set tennis background"},c.setBackgroundWinter=function(){return"set winter background"},c.setBackgroundTooltip=function(){return"設置背景圖像"},c.setScoreText=function(){return"設置得分"},c.setScoreTextTooltip=function(){return"設置得分區域中顯示的文字。"},c.setSpriteEmotionAngry=function(){return"設置憤怒模式"},c.setSpriteEmotionHappy=function(){return"設置快樂模置"},c.setSpriteEmotionNormal=function(){return"設置正常模式"},c.setSpriteEmotionRandom=function(){return"設置隨機情緒"},c.setSpriteEmotionSad=function(){return"設置悲傷模式"},c.setSpriteEmotionTooltip=function(){return"設置演員的情緒"},c.setSpriteAlien=function(){return"予外星人圖像"},c.setSpriteBat=function(){return"到蝙蝠圖像"},c.setSpriteBird=function(){return"到鳥圖像"},c.setSpriteCat=function(){return"設為貓咪的影像"},c.setSpriteCaveBoy=function(){return"to a cave boy image"},c.setSpriteCaveGirl=function(){return"to a cave girl image"},c.setSpriteDinosaur=function(){return"設為恐龍的影像"},c.setSpriteDog=function(){return"設為狗狗的影像"},c.setSpriteDragon=function(){return"到龍圖像"},c.setSpriteGhost=function(){return"到鬼魂圖像"},c.setSpriteHidden=function(){return"設為隱藏的影像"},c.setSpriteHideK1=function(){return"隱藏"},c.setSpriteKnight=function(){return"到騎士圖像"},c.setSpriteMonster=function(){return"到怪物圖像"},c.setSpriteNinja=function(){return"到蒙面忍者圖像"},c.setSpriteOctopus=function(){return"設為章魚的影像"},c.setSpritePenguin=function(){return"設為企鵝的影像"},c.setSpritePirate=function(){return"到海盜圖像"},c.setSpritePrincess=function(){return"到公主圖像"},c.setSpriteRandom=function(){return"設為隨機的影像"},c.setSpriteRobot=function(){return"到機器人圖像"},c.setSpriteShowK1=function(){return"顯示"},c.setSpriteSpacebot=function(){return"to a spacebot image"},c.setSpriteSoccerGirl=function(){return"to a soccer girl image"},c.setSpriteSoccerBoy=function(){return"to a soccer boy image"},c.setSpriteSquirrel=function(){return"到松鼠圖像"},c.setSpriteTennisGirl=function(){return"to a tennis girl image"},c.setSpriteTennisBoy=function(){return"to a tennis boy image"},c.setSpriteUnicorn=function(){return"到獨角獸圖像"},c.setSpriteWitch=function(){return"設為巫婆的影像"},c.setSpriteWizard=function(){return"到巫師圖像"},c.setSpritePositionTooltip=function(){return"立即將一個角色移動到指定的位置。"},c.setSpriteK1Tooltip=function(){return"顯示或隱藏指定的角色。"},c.setSpriteTooltip=function(){return"設為角色的影像"},c.setSpriteSizeRandom=function(){return"to a random size"},c.setSpriteSizeVerySmall=function(){return"to a very small size"},c.setSpriteSizeSmall=function(){return"to a small size"},c.setSpriteSizeNormal=function(){return"to a normal size"},c.setSpriteSizeLarge=function(){return"to a large size"},c.setSpriteSizeVeryLarge=function(){return"to a very large size"},c.setSpriteSizeTooltip=function(){return"Sets the size of an actor"},c.setSpriteSpeedRandom=function(){return"設為隨機的速度"},c.setSpriteSpeedVerySlow=function(){return"設為非常慢的速度"},c.setSpriteSpeedSlow=function(){return"設為慢的速度"},c.setSpriteSpeedNormal=function(){return"設為一般的速度"},c.setSpriteSpeedFast=function(){return"設為快的速度"},c.setSpriteSpeedVeryFast=function(){return"設為非常快的速度"},c.setSpriteSpeedTooltip=function(){return"設為角色的速度"},c.setSpriteZombie=function(){return"到僵屍圖像"},c.shareStudioTwitter=function(){return"看看我在@codeorg ,自己所編寫的故事。"},c.shareGame=function(){return"分享你的故事:"},c.showTitleScreen=function(){return"顯示標題螢幕"},c.showTitleScreenTitle=function(){return"標題"},c.showTitleScreenText=function(){return"文本"},c.showTSDefTitle=function(){return"在這裡輸入標題"},c.showTSDefText=function(){return"在這裡輸入本文"},c.showTitleScreenTooltip=function(){return"顯示一個具有標題和文本的標題視窗。"},c.setSprite=function(){return"設置"},c.setSpriteN=function(a){return"選擇演員"+v(a,"spriteIndex")},c.soundCrunch=function(){return"收緊"},c.soundGoal1=function(){return"goal 1"},c.soundGoal2=function(){return"goal 2"},c.soundHit=function(){return"hit"},c.soundLosePoint=function(){return"lose point"},c.soundLosePoint2=function(){return"lose point 2"},c.soundRetro=function(){return"retro"},c.soundRubber=function(){return"rubber"},c.soundSlap=function(){return"slap"},c.soundWinPoint=function(){return"win point"},c.soundWinPoint2=function(){return"win point 2"},c.soundWood=function(){return"wood"},c.speed=function(){return"speed"},c.stopSprite=function(){return"停止"},c.stopSpriteN=function(a){return"stop actor "+v(a,"spriteIndex")},c.stopTooltip=function(){return"停止移動角色。"},c.throwSprite=function(){return"throw"},c.throwSpriteN=function(a){return"actor "+v(a,"spriteIndex")+" throw"},c.throwTooltip=function(){return"Throws a projectile from the specified actor."},c.vanish=function(){return"vanish"},c.vanishActorN=function(a){return"vanish actor "+v(a,"spriteIndex")},c.vanishTooltip=function(){return"Vanishes the actor."},c.waitFor=function(){return"等待"},c.waitSeconds=function(){return"秒"},c.waitForClick=function(){return"等待點擊"},c.waitForRandom=function(){return"等待隨機"},c.waitForHalfSecond=function(){return"等待半秒"},c.waitFor1Second=function(){return"等待一秒"},c.waitFor2Seconds=function(){return"等待兩秒"},c.waitFor5Seconds=function(){return"等待五秒"},c.waitFor10Seconds=function(){return"等待十秒"},c.waitParamsTooltip=function(){return"等待輸入值(秒),或直接使用「0」來等候點擊"},c.waitTooltip=function(){return"等候輸入的時間(當時間到達或點擊,就會觸發效果)"},c.whenArrowDown=function(){return"下方向鍵"},c.whenArrowLeft=function(){return"左方向鍵"},c.whenArrowRight=function(){return"右方向鍵"},c.whenArrowUp=function(){return"上方向鍵"},c.whenArrowTooltip=function(){return"按下指定的方向鍵在執行動作"},c.whenDown=function(){return"當按下"下方向鍵""},c.whenDownTooltip=function(){return"當按下"下方向鍵",就會執行動作"},c.whenGameStarts=function(){return"當故事開始時"},c.whenGameStartsTooltip=function(){return"當故事開始時執行動作"},c.whenLeft=function(){return"當按下"左方向鍵""},c.whenLeftTooltip=function(){return"當按下"左方向鍵",就會執行動作"},c.whenRight=function(){return"當按下"右方向鍵""},c.whenRightTooltip=function(){return"當按下"右方向鍵",就會執行動作"},c.whenSpriteClicked=function(){return"當你按下演員"},c.whenSpriteClickedN=function(a){return"當演員 "+v(a,"spriteIndex")+" 被點擊時"},c.whenSpriteClickedTooltip=function(){return"當演員被點擊時執行動作"},c.whenSpriteCollidedN=function(a){return"當演員 "+v(a,"spriteIndex")},c.whenSpriteCollidedTooltip=function(){return"當兩個演員接觸時執行動作"},c.whenSpriteCollidedWith=function(){return"接觸"},c.whenSpriteCollidedWithN=function(a){return"接觸演員"+v(a,"spriteIndex")},c.whenSpriteCollidedWithBlueFireball=function(){return"touches blue fireball"},c.whenSpriteCollidedWithPurpleFireball=function(){return"touches purple fireball"},c.whenSpriteCollidedWithRedFireball=function(){return"touches red fireball"},c.whenSpriteCollidedWithYellowHearts=function(){return"touches yellow hearts"},c.whenSpriteCollidedWithPurpleHearts=function(){return"touches purple hearts"},c.whenSpriteCollidedWithRedHearts=function(){return"touches red hearts"},c.whenSpriteCollidedWithBottomEdge=function(){return"接觸底部邊緣"},c.whenSpriteCollidedWithLeftEdge=function(){return"接著左邊邊緣"},c.whenSpriteCollidedWithRightEdge=function(){return"接觸右邊邊緣"},c.whenSpriteCollidedWithTopEdge=function(){return"接觸上邊邊緣"},c.whenUp=function(){return"當"上方向鍵""},c.whenUpTooltip=function(){return"當按下"上方向鍵",就會執行動作"},c.yes=function(){return"是"}},{messageformat:53}],42:[function(a,b,c){function d(a){return a.substr(1).split("|").reduce(function(a,b){var c=b.split(":"),d=c.shift(),e=c.join(":")||"";return e&&(e=", "+e),"filters."+d+"("+a+e+")"})}function e(a,b,c,d){var e=b.split("\n"),f=Math.max(d-3,0),g=Math.min(e.length,d+3),h=e.slice(f,g).map(function(a,b){var c=b+f+1;return(c==d?" >> ":" ")+c+"| "+a}).join("\n");throw a.path=c,a.message=(c||"ejs")+":"+d+"\n"+h+"\n\n"+a.message,a}function f(a,b){var c=k(i(b),a),d=j(a);return d||(c+=".ejs"),c}var g=a("./utils"),h=a("path"),i=h.dirname,j=h.extname,k=h.join,l=a("fs"),m=l.readFileSync,n=c.filters=a("./filters"),o={};c.clearCache=function(){o={}};var p=(c.parse=function(a,b){var b=b||{},e=b.open||c.open||"<%",g=b.close||c.close||"%>",h=b.filename,i=b.compileDebug!==!1,j="";j+="var buf = [];",!1!==b._with&&(j+="\nwith (locals || {}) { (function(){ "),j+="\n buf.push('";for(var k=1,l=!1,n=0,o=a.length;o>n;++n){var p=a[n];if(a.slice(n,e.length+n)==e){n+=e.length;var q,r,s=(i?"__stack.lineno=":"")+k;switch(a[n]){case"=":q="', escape(("+s+", ",r=")), '",++n;break;case"-":q="', ("+s+", ",r="), '",++n;break;default:q="');"+s+";",r="; buf.push('"}var t=a.indexOf(g,n),u=a.substring(n,t),v=n,w=null,x=0;if("-"==u[u.length-1]&&(u=u.substring(0,u.length-2),l=!0),0==u.trim().indexOf("include")){var y=u.trim().slice(7).trim();if(!h)throw new Error("filename option is required for includes");var z=f(y,h);w=m(z,"utf8"),w=c.parse(w,{filename:z,_with:!1,open:e,close:g,compileDebug:i}),j+="' + (function(){"+w+"})() + '",u=""}for(;~(x=u.indexOf("\n",x));)x++,k++;":"==u.substr(0,1)&&(u=d(u)),u&&(u.lastIndexOf("//")>u.lastIndexOf("\n")&&(u+="\n"),j+=q,j+=u,j+=r),n+=t-v+g.length-1}else"\\"==p?j+="\\\\":"'"==p?j+="\\'":"\r"==p||("\n"==p?l?l=!1:(j+="\\n",k++):j+=p)}return j+=!1!==b._with?"'); })();\n} \nreturn buf.join('');":"');\nreturn buf.join('');"},c.compile=function(a,b){b=b||{};var d=b.escape||g.escape,f=JSON.stringify(a),h=b.compileDebug!==!1,i=b.client,j=b.filename?JSON.stringify(b.filename):"undefined";a=h?["var __stack = { lineno: 1, input: "+f+", filename: "+j+" };",e.toString(),"try {",c.parse(a,b),"} catch (err) {"," rethrow(err, __stack.input, __stack.filename, __stack.lineno);","}"].join("\n"):c.parse(a,b),b.debug&&console.log(a),i&&(a="escape = escape || "+d.toString()+";\n"+a);try{var k=new Function("locals, filters, escape, rethrow",a)}catch(l){throw"SyntaxError"==l.name&&(l.message+=b.filename?" in "+j:" while compiling ejs"),l}return i?k:function(a){return k.call(this,a,n,d,e)}});c.render=function(a,b){var c,b=b||{};if(b.cache){if(!b.filename)throw new Error('"cache" option requires "filename".');c=o[b.filename]||(o[b.filename]=p(a,b))}else c=p(a,b);return b.__proto__=b.locals,c.call(b.scope,b)},c.renderFile=function(a,b,d){var e=a+":string";"function"==typeof b&&(d=b,b={}),b.filename=a;var f;try{f=b.cache?o[e]||(o[e]=m(a,"utf8")):m(a,"utf8")}catch(g){return void d(g)}d(null,c.render(f,b))},c.__express=c.renderFile,a.extensions?a.extensions[".ejs"]=function(a,b){b=b||a.filename;var c={filename:b,client:!0},d=l.readFileSync(b).toString(),e=p(d,c);a._compile("module.exports = "+e.toString()+";",b)}:a.registerExtension&&a.registerExtension(".ejs",function(a){return p(a,{})})},{"./filters":43,"./utils":44,fs:45,path:46}],43:[function(a,b,c){c.first=function(a){return a[0]},c.last=function(a){return a[a.length-1]},c.capitalize=function(a){return a=String(a),a[0].toUpperCase()+a.substr(1,a.length)},c.downcase=function(a){return String(a).toLowerCase()},c.upcase=function(a){return String(a).toUpperCase()},c.sort=function(a){return Object.create(a).sort()},c.sort_by=function(a,b){return Object.create(a).sort(function(a,c){return a=a[b],c=c[b],a>c?1:c>a?-1:0})},c.size=c.length=function(a){return a.length},c.plus=function(a,b){return Number(a)+Number(b)},c.minus=function(a,b){return Number(a)-Number(b)},c.times=function(a,b){return Number(a)*Number(b)},c.divided_by=function(a,b){return Number(a)/Number(b)},c.join=function(a,b){return a.join(b||", ")},c.truncate=function(a,b,c){return a=String(a),a.length>b&&(a=a.slice(0,b),c&&(a+=c)),a},c.truncate_words=function(a,b){var a=String(a),c=a.split(/ +/);return c.slice(0,b).join(" ")},c.replace=function(a,b,c){return String(a).replace(b,c||"")},c.prepend=function(a,b){return Array.isArray(a)?[b].concat(a):b+a},c.append=function(a,b){return Array.isArray(a)?a.concat(b):a+b},c.map=function(a,b){return a.map(function(a){return a[b]})},c.reverse=function(a){return Array.isArray(a)?a.reverse():String(a).split("").reverse().join("")},c.get=function(a,b){return a[b]},c.json=function(a){return JSON.stringify(a)}},{}],44:[function(a,b,c){c.escape=function(a){return String(a).replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")}},{}],45:[function(){},{}],46:[function(a,b,c){(function(a){function b(a,b){for(var c=0,d=a.length-1;d>=0;d--){var e=a[d];"."===e?a.splice(d,1):".."===e?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function d(a,b){if(a.filter)return a.filter(b);for(var c=[],d=0;d=-1&&!e;f--){var g=f>=0?arguments[f]:a.cwd();if("string"!=typeof g)throw new TypeError("Arguments to path.resolve must be strings");g&&(c=g+"/"+c,e="/"===g.charAt(0))}return c=b(d(c.split("/"),function(a){return!!a}),!e).join("/"),(e?"/":"")+c||"."},c.normalize=function(a){var e=c.isAbsolute(a),f="/"===g(a,-1);return a=b(d(a.split("/"),function(a){return!!a}),!e).join("/"),a||e||(a="."),a&&f&&(a+="/"),(e?"/":"")+a},c.isAbsolute=function(a){return"/"===a.charAt(0)},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(d(a,function(a){if("string"!=typeof a)throw new TypeError("Arguments to path.join must be strings");return a}).join("/"))},c.relative=function(a,b){function d(a){for(var b=0;b=0&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}a=c.resolve(a).substr(1),b=c.resolve(b).substr(1);for(var e=d(a.split("/")),f=d(b.split("/")),g=Math.min(e.length,f.length),h=g,i=0;g>i;i++)if(e[i]!==f[i]){h=i;break}for(var j=[],i=h;ib&&(b=a.length+b),a.substr(b,c)}}).call(this,a("JkpR2F"))},{JkpR2F:47}],47:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}],48:[function(a,b,c){(function(a){!function(d){function e(a){throw RangeError(H[a])}function f(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function g(a,b){return f(a.split(G),b).join(".")}function h(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function i(a){return f(a,function(a){var b="";return a>65535&&(a-=65536,b+=K(a>>>10&1023|55296),a=56320|1023&a),b+=K(a)}).join("")}function j(a){return 10>a-48?a-22:26>a-65?a-65:26>a-97?a-97:w}function k(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function l(a,b,c){var d=0;for(a=c?J(a/A):a>>1,a+=J(a/b);a>I*y>>1;d+=w)a=J(a/I);return J(d+(I+1)*a/(a+z))}function m(a){var b,c,d,f,g,h,k,m,n,o,p=[],q=a.length,r=0,s=C,t=B;for(c=a.lastIndexOf(D),0>c&&(c=0),d=0;c>d;++d)a.charCodeAt(d)>=128&&e("not-basic"),p.push(a.charCodeAt(d));for(f=c>0?c+1:0;q>f;){for(g=r,h=1,k=w;f>=q&&e("invalid-input"),m=j(a.charCodeAt(f++)),(m>=w||m>J((v-r)/h))&&e("overflow"),r+=m*h,n=t>=k?x:k>=t+y?y:k-t,!(n>m);k+=w)o=w-n,h>J(v/o)&&e("overflow"),h*=o;b=p.length+1,t=l(r-g,b,0==g),J(r/b)>v-s&&e("overflow"),s+=J(r/b),r%=b,p.splice(r++,0,s)}return i(p)}function n(a){var b,c,d,f,g,i,j,m,n,o,p,q,r,s,t,u=[];for(a=h(a),q=a.length,b=C,c=0,g=B,i=0;q>i;++i)p=a[i],128>p&&u.push(K(p));for(d=f=u.length,f&&u.push(D);q>d;){for(j=v,i=0;q>i;++i)p=a[i],p>=b&&j>p&&(j=p);for(r=d+1,j-b>J((v-c)/r)&&e("overflow"),c+=(j-b)*r,b=j,i=0;q>i;++i)if(p=a[i],b>p&&++c>v&&e("overflow"),p==b){for(m=c,n=w;o=g>=n?x:n>=g+y?y:n-g,!(o>m);n+=w)t=m-o,s=w-o,u.push(K(k(o+t%s,0))),m=J(t/s);u.push(K(k(m,0))),g=l(c,r,d==f),c=0,++d}++c,++b}return u.join("")}function o(a){return g(a,function(a){return E.test(a)?m(a.slice(4).toLowerCase()):a})}function p(a){return g(a,function(a){return F.test(a)?"xn--"+n(a):a})}var q="object"==typeof c&&c,r="object"==typeof b&&b&&b.exports==q&&b,s="object"==typeof a&&a;(s.global===s||s.window===s)&&(d=s);var t,u,v=2147483647,w=36,x=1,y=26,z=38,A=700,B=72,C=128,D="-",E=/^xn--/,F=/[^ -~]/,G=/\x2E|\u3002|\uFF0E|\uFF61/g,H={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},I=w-x,J=Math.floor,K=String.fromCharCode;if(t={version:"1.2.4",ucs2:{decode:h,encode:i},decode:m,encode:n,toASCII:p,toUnicode:o},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return t});else if(q&&!q.nodeType)if(r)r.exports=t;else for(u in t)t.hasOwnProperty(u)&&(q[u]=t[u]);else d.punycode=t}(this)}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(a,b){"use strict";function c(a,b){return Object.prototype.hasOwnProperty.call(a,b)}b.exports=function(a,b,e,f){b=b||"&",e=e||"=";var g={};if("string"!=typeof a||0===a.length)return g;var h=/\+/g;a=a.split(b);var i=1e3;f&&"number"==typeof f.maxKeys&&(i=f.maxKeys);var j=a.length;i>0&&j>i&&(j=i);for(var k=0;j>k;++k){var l,m,n,o,p=a[k].replace(h,"%20"),q=p.indexOf(e);q>=0?(l=p.substr(0,q),m=p.substr(q+1)):(l=p,m=""),n=decodeURIComponent(l),o=decodeURIComponent(m),c(g,n)?d(g[n])?g[n].push(o):g[n]=[g[n],o]:g[n]=o}return g};var d=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)}},{}],50:[function(a,b){"use strict";function c(a,b){if(a.map)return a.map(b);for(var c=[],d=0;d",'"',"`"," ","\r","\n"," "],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;jk)&&(h=k)}var l,o;o=-1===h?d.lastIndexOf("@"):d.lastIndexOf("@",h),-1!==o&&(l=d.slice(0,o),d=d.slice(o+1),this.auth=decodeURIComponent(l)),h=-1;for(var j=0;jk)&&(h=k)}-1===h&&(h=d.length),this.host=d.slice(0,h),d=d.slice(h),this.parseHost(),this.hostname=this.hostname||"";var p="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!p)for(var q=this.hostname.split(/\./),j=0,B=q.length;B>j;j++){var C=q[j];if(C&&!C.match(v)){for(var D="",E=0,F=C.length;F>E;E++)D+=C.charCodeAt(E)>127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname=this.hostname.length>u?"":this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;jj;j++){var O=r[j],P=encodeURIComponent(O);P===O&&(P=escape(O)),d=d.split(O).join(P)}var Q=d.indexOf("#");-1!==Q&&(this.hash=d.substr(Q),d=d.slice(0,Q));var R=d.indexOf("?");if(-1!==R?(this.search=d.substr(R),this.query=d.substr(R+1),b&&(this.query=A.parse(this.query)),d=d.slice(0,R)):b&&(this.search="",this.query={}),d&&(this.pathname=d),z[f]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var M=this.pathname||"",L=this.search||"";this.path=M+L}return this.href=this.format(),this},d.prototype.format=function(){var a=this.auth||"";a&&(a=encodeURIComponent(a),a=a.replace(/%3A/i,":"),a+="@");var b=this.protocol||"",c=this.pathname||"",d=this.hash||"",e=!1,f="";this.host?e=a+this.host:this.hostname&&(e=a+(-1===this.hostname.indexOf(":")?this.hostname:"["+this.hostname+"]"),this.port&&(e+=":"+this.port)),this.query&&j(this.query)&&Object.keys(this.query).length&&(f=A.stringify(this.query));var g=this.search||f&&"?"+f||"";return b&&":"!==b.substr(-1)&&(b+=":"),this.slashes||(!b||z[b])&&e!==!1?(e="//"+(e||""),c&&"/"!==c.charAt(0)&&(c="/"+c)):e||(e=""),d&&"#"!==d.charAt(0)&&(d="#"+d),g&&"?"!==g.charAt(0)&&(g="?"+g),c=c.replace(/[?#]/g,function(a){return encodeURIComponent(a)}),g=g.replace("#","%23"),b+e+c+g+d},d.prototype.resolve=function(a){return this.resolveObject(e(a,!1,!0)).format()},d.prototype.resolveObject=function(a){if(i(a)){var b=new d;b.parse(a,!1,!0),a=b}var c=new d;if(Object.keys(this).forEach(function(a){c[a]=this[a]},this),c.hash=a.hash,""===a.href)return c.href=c.format(),c;if(a.slashes&&!a.protocol)return Object.keys(a).forEach(function(b){"protocol"!==b&&(c[b]=a[b])}),z[c.protocol]&&c.hostname&&!c.pathname&&(c.path=c.pathname="/"),c.href=c.format(),c;if(a.protocol&&a.protocol!==c.protocol){if(!z[a.protocol])return Object.keys(a).forEach(function(b){c[b]=a[b]}),c.href=c.format(),c;if(c.protocol=a.protocol,a.host||y[a.protocol])c.pathname=a.pathname;else{for(var e=(a.pathname||"").split("/");e.length&&!(a.host=e.shift()););a.host||(a.host=""),a.hostname||(a.hostname=""),""!==e[0]&&e.unshift(""),e.length<2&&e.unshift(""),c.pathname=e.join("/")}if(c.search=a.search,c.query=a.query,c.host=a.host||"",c.auth=a.auth,c.hostname=a.hostname||a.host,c.port=a.port,c.pathname||c.search){var f=c.pathname||"",g=c.search||"";c.path=f+g}return c.slashes=c.slashes||a.slashes,c.href=c.format(),c}var h=c.pathname&&"/"===c.pathname.charAt(0),j=a.host||a.pathname&&"/"===a.pathname.charAt(0),m=j||h||c.host&&a.pathname,n=m,o=c.pathname&&c.pathname.split("/")||[],e=a.pathname&&a.pathname.split("/")||[],p=c.protocol&&!z[c.protocol];if(p&&(c.hostname="",c.port=null,c.host&&(""===o[0]?o[0]=c.host:o.unshift(c.host)),c.host="",a.protocol&&(a.hostname=null,a.port=null,a.host&&(""===e[0]?e[0]=a.host:e.unshift(a.host)),a.host=null),m=m&&(""===e[0]||""===o[0])),j)c.host=a.host||""===a.host?a.host:c.host,c.hostname=a.hostname||""===a.hostname?a.hostname:c.hostname,c.search=a.search,c.query=a.query,o=e; else if(e.length)o||(o=[]),o.pop(),o=o.concat(e),c.search=a.search,c.query=a.query;else if(!l(a.search)){if(p){c.hostname=c.host=o.shift();var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.path=c.search?"/"+c.search:null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=c.host&&c.host.indexOf("@")>0?c.host.split("@"):!1;q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:48,querystring:51}],53:[function(a,b,d){!function(a){function e(a,b){var c;if(a&&b&&(e.locale[a]=b),c=a=a||"en",b=b||e.locale[c=e.Utils.getFallbackLocale(a)],!b)throw new Error("Plural Function not found for locale: "+a);this.pluralFunc=b,this.locale=a,this.fallbackLocale=c}c=function(a){if(!a)throw new Error("MessageFormat: No data passed to function.")},n=function(a,b,c){if(isNaN(a[b]))throw new Error("MessageFormat: `"+b+"` isnt a number.");return a[b]-(c||0)},v=function(a,b){return c(a),a[b]},p=function(a,b,d,f,g){return c(a),a[b]in g?g[a[b]]:(b=e.locale[f](a[b]-d),b in g?g[b]:g.other)},s=function(a,b,d){return c(a),a[b]in d?d[a[b]]:d.other},e.locale={en:function(a){return 1===a?"one":"other"}},e.SafeString=function(a){this.string=a},e.SafeString.prototype.toString=function(){return this.string.toString()},e.Utils={numSub:function(a,b,c,d){var e=a.replace(/(^|[^\\])#/g,'$1"+n('+b+","+c+(d?","+d:"")+')+"');return e.replace(/^""\+/,"").replace(/\+""$/,"")},escapeExpression:function(a){var b={"\n":"\\n",'"':'\\"'},c=/[\n"]/g,d=/[\n"]/,f=function(a){return b[a]||"&"};return a instanceof e.SafeString?a.toString():null===a||a===!1?"":d.test(a)?a.replace(c,f):a},getFallbackLocale:function(a){for(var b=a.indexOf("-")>=0?"-":"_";!e.locale.hasOwnProperty(a);)if(a=a.substring(0,a.lastIndexOf(b)),0===a.length)return null;return a}};var f=function(){function a(a){return'"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\x08/g,"\\b").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\f/g,"\\f").replace(/\r/g,"\\r").replace(/[\x00-\x07\x0B\x0E-\x1F\x80-\uFFFF]/g,escape)+'"'}var b={parse:function(b,c){function d(a){D>B||(B>D&&(D=B,E=[]),E.push(a))}function e(){var a,b;return b=B,a=f(),null!==a&&(a=function(a,b){return{type:"program",program:b}}(b,a)),null===a&&(B=b),a}function f(){var a,b,c,d,e;if(d=B,e=B,a=q(),null!==a){for(b=[],c=g();null!==c;)b.push(c),c=g();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d=[];b&&b.val&&d.push(b);for(var e in c)c.hasOwnProperty(e)&&d.push(c[e]);return{type:"messageFormatPattern",statements:d}}(d,a[0],a[1])),null===a&&(B=d),a}function g(){var a,c,e,f,g,i,j,k;return j=B,k=B,123===b.charCodeAt(B)?(a="{",B++):(a=null,0===C&&d('"{"')),null!==a?(c=w(),null!==c?(e=h(),null!==e?(f=w(),null!==f?(125===b.charCodeAt(B)?(g="}",B++):(g=null,0===C&&d('"}"')),null!==g?(i=q(),null!==i?a=[a,c,e,f,g,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b,c){var d=[];return b&&d.push(b),c&&c.val&&d.push(c),{type:"messageFormatPatternRight",statements:d}}(j,a[2],a[5])),null===a&&(B=j),a}function h(){var a,c,e,f,g,h;return f=B,g=B,a=r(),null!==a?(h=B,44===b.charCodeAt(B)?(c=",",B++):(c=null,0===C&&d('","')),null!==c?(e=i(),null!==e?c=[c,e]:(c=null,B=h)):(c=null,B=h),c=null!==c?c:"",null!==c?a=[a,c]:(a=null,B=g)):(a=null,B=g),null!==a&&(a=function(a,b,c){var d={type:"messageFormatElement",argumentIndex:b};return c&&c.length?d.elementFormat=c[1]:d.output=!0,d}(f,a[0],a[1])),null===a&&(B=f),a}function i(){var a,c,e,f,g,h,i,l,m;return l=B,m=B,a=w(),null!==a?("plural"===b.substr(B,6)?(c="plural",B+=6):(c=null,0===C&&d('"plural"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=j(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l),null===a&&(l=B,m=B,a=w(),null!==a?("select"===b.substr(B,6)?(c="select",B+=6):(c=null,0===C&&d('"select"')),null!==c?(e=w(),null!==e?(44===b.charCodeAt(B)?(f=",",B++):(f=null,0===C&&d('","')),null!==f?(g=w(),null!==g?(h=k(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"elementFormat",key:b,val:c.val}}(l,a[1],a[5])),null===a&&(B=l)),a}function j(){var a,b;return b=B,a=l(),null!==a&&(a=function(a,b){return{type:"pluralStyle",val:b}}(b,a)),null===a&&(B=b),a}function k(){var a,b;return b=B,a=n(),null!==a&&(a=function(a,b){return{type:"selectStyle",val:b}}(b,a)),null===a&&(B=b),a}function l(){var a,b,c,d,e;if(d=B,e=B,a=m(),a=null!==a?a:"",null!==a){for(b=[],c=o();null!==c;)b.push(c),c=o();null!==b?a=[a,b]:(a=null,B=e)}else a=null,B=e;return null!==a&&(a=function(a,b,c){var d={type:"pluralFormatPattern",pluralForms:c};return d.offset=b?b:0,d}(d,a[0],a[1])),null===a&&(B=d),a}function m(){var a,c,e,f,g,h,i,j,k;return j=B,k=B,a=w(),null!==a?("offset"===b.substr(B,6)?(c="offset",B+=6):(c=null,0===C&&d('"offset"')),null!==c?(e=w(),null!==e?(58===b.charCodeAt(B)?(f=":",B++):(f=null,0===C&&d('":"')),null!==f?(g=w(),null!==g?(h=u(),null!==h?(i=w(),null!==i?a=[a,c,e,f,g,h,i]:(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k)):(a=null,B=k),null!==a&&(a=function(a,b){return b}(j,a[5])),null===a&&(B=j),a}function n(){var a,b,c;for(c=B,a=[],b=o();null!==b;)a.push(b),b=o();return null!==a&&(a=function(a,b){return{type:"selectFormatPattern",pluralForms:b}}(c,a)),null===a&&(B=c),a}function o(){var a,c,e,g,h,i,j,k,l,m;return l=B,m=B,a=w(),null!==a?(c=p(),null!==c?(e=w(),null!==e?(123===b.charCodeAt(B)?(g="{",B++):(g=null,0===C&&d('"{"')),null!==g?(h=w(),null!==h?(i=f(),null!==i?(j=w(),null!==j?(125===b.charCodeAt(B)?(k="}",B++):(k=null,0===C&&d('"}"')),null!==k?a=[a,c,e,g,h,i,j,k]:(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m)):(a=null,B=m),null!==a&&(a=function(a,b,c){return{type:"pluralForms",key:b,val:c}}(l,a[1],a[5])),null===a&&(B=l),a}function p(){var a,c,e,f;return e=B,a=r(),null!==a&&(a=function(a,b){return b}(e,a)),null===a&&(B=e),null===a&&(e=B,f=B,61===b.charCodeAt(B)?(a="=",B++):(a=null,0===C&&d('"="')),null!==a?(c=u(),null!==c?a=[a,c]:(a=null,B=f)):(a=null,B=f),null!==a&&(a=function(a,b){return b}(e,a[1])),null===a&&(B=e)),a}function q(){var a,b,c,d,e,f,g,h;if(f=B,g=B,a=w(),null!==a){for(b=[],h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==c;)b.push(c),h=B,c=w(),null!==c?(d=s(),null!==d?(e=w(),null!==e?c=[c,d,e]:(c=null,B=h)):(c=null,B=h)):(c=null,B=h);null!==b?a=[a,b]:(a=null,B=g)}else a=null,B=g;return null!==a&&(a=function(a,b,c){for(var d=[],e=0;e-----BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAyw6GpuCmXbTRSEh4EZ1gDEy45D6ZLi5EPm+rrI+zUG3qAWAQ -w78FwjPmKZDRmLmxmVF1GrRipdOP8QDoHcKxICOOur7cKo7ga3e3iFTQ0nYlt3Qx -OMWQUgwpoDn2RLaOFeotwTHU48x1isB8M06EQWRXT0q9EQcsiWeF7Ry43lj/YUf9 -1CKsVAQ74JCSLrqQVPKWwLLxgtTQlqICmAJtJLLXwojKvz8bafZpjBX5bKGi9T5D -SwvICvozvqVuhTs++ohd0JYUFxieEUNe9EjvAAvpmtUz7KPzz3uA77HsF1D8ZDmc -HES3RpZmCrRLSyAAj9MqA63AR85Hdxniz5z4mwIDAQABAoIBACalUBlInkEtXbtt -F3T6x8HvhCzkgRDZ+2EKrdi8zLrdAHFckDRBEd6BNCfrCQkRJmzwpOH9PN0ko7uR -mZu4Zy+ftNVz58EtyiaJ9WM8CTZVCB6fPZL5ftsut2loPqebOvWOyUCAtGzah/Bt -a/Xz1pX/e+J6bftkqyRHkKStF74xSPms4ujrWMM25Y/+Uzm3WHsTN147mHx6FDKo -qZ8iwe9XezFRXOaXbgq7VzD96fcxMYGoh3o5qSRlNAWD84Q9fBs42UYvhqLFn+77 -BqO/b7I/bI2n8DwZyObOP/O+wZVOtU63drohC5JryQuhAfX2jL7Mk+9cUYWW2qNL -XiveG9kCgYEA9cTVK7theaR1tCFeEzTiwSKOsTIEji1EdtGLhQs2aEb45OAGFt8V -m6ORWULNRG/4OaGnK0OXK0lKcC59mAcHazvXpvgisUcLXsXydg7Ve9+tZn9haZyB -sCeloQSMOZxUxVglueNupMXfScI+N/WRM/GRsC7UiOTy02VL9VE93e8CgYEA04KC -M7Gimk02De/soG4E//l7gti71lSg8OVa3yr4XuJA8mV3BRIhz11yLiRwz/lqaG0u -7hpbCA6Ah2Q77jcV6oMrr5RF4x/tVoPsSWgGdNYhVUuXoMVeUYSXkVn8ES2qAKDi -Pyof/I1+njGOE68IjjzR879K8a/63xnUTRyWfBUCgYBAxXdI50FxRZ6fsouQlEeO -jwT8PiplLhj1F5Slo6bbJJlD+KaiMHkJY7pSxABFIR1SUwAzrsSQa+hqWFZRUsjp -wgO7xXmfLxIYECMuagppczHH6ZpKsyyauFg2b3RlWoYc3HZU31OxqVSHo+Gx7c4u -2mODA1SQH4a/n9q89IRRkQKBgGfz0q45deNEY3bCHphSul5cbZnHj7otadQ7xUe9 -xMhNhwIbYD27xaY3FTEcc92jherBDrmzdl4lUoI4f0P7Cuhxg30N8LNKM8m7mNwT -Jmkx/LwBJQq9Njf2ZM/pW/vNZ6pbaBcHSyVDHaH+VQfTlO7jcYTM1baneTNBbJhh -noxpAoGBAKuevpjgXdoBS5sUGSGqsD6wBnK8KyoF5jBc2Yj/QGKW99i3ZK06haI0 -0IFt6uI5AqpB0V4U9yV3uBtVjBL2QQSoheLuM7tS38+9JhLVy1ySIFaAG6a9HTtd -IhQNTvPrfLxx++0/ey3R6WJ/NMkFYDtXQQjWnvz8fyomQL3paabb ------END RSA PRIVATE KEY----- - -- Create `~/.ssh/id_rsa.pub`
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLDoam4KZdtNFISHgRnWAMTLjkPpkuLkQ+b6usj7NQbeoBYBDDvwXCM+YpkNGYubGZUXUatGKl04/xAOgdwrEgI466vtwqjuBrd7eIVNDSdiW3dDE4xZBSDCmgOfZEto4V6i3BMdTjzHWKwHwzToRBZFdPSr0RByyJZ4XtHLjeWP9hR/3UIqxUBDvgkJIuupBU8pbAsvGC1NCWogKYAm0kstfCiMq/Pxtp9mmMFflsoaL1PkNLC8gK+jO+pW6FOz76iF3QlhQXGJ4RQ170SO8AC+ma1TPso/PPe4DvsewXUPxkOZwcRLdGlmYKtEtLIACP0yoDrcBHzkd3GeLPnPib ubuntu@code.org
+- Create `~/.ssh/id_rsa` and `~/.ssh/id_rsa.pub` with the dev@code.org keys from - `chmod 600 ~/.ssh/id_rsa*` - `sudo aptitude install -y git` diff --git a/pegasus/Gemfile b/pegasus/Gemfile index 1d31a9f536835..bafe78f437239 100644 --- a/pegasus/Gemfile +++ b/pegasus/Gemfile @@ -7,7 +7,7 @@ gem 'rack-contrib', '~> 1.1' gem 'activesupport', '~> 4.0.3' gem 'haml', '~> 4.0' gem 'minitest', '~> 4.7' -gem 'phantomjs', '~> 1.9' +gem 'phantomjs', '~> 1.9.7.1' gem 'redcarpet', '~> 3.1' gem 'le', '~> 2.2' gem 'sinatra', require: 'sinatra/base' diff --git a/pegasus/Gemfile.lock b/pegasus/Gemfile.lock index a784b57e56b61..3a86578a8fb67 100644 --- a/pegasus/Gemfile.lock +++ b/pegasus/Gemfile.lock @@ -124,7 +124,7 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (~> 1.2) - phantomjs (1.9.7.0) + phantomjs (1.9.7.1) polyglot (0.3.4) rack (1.5.2) rack-contrib (1.1.0) @@ -193,7 +193,7 @@ DEPENDENCIES minitest (~> 4.7) mysql2 newrelic_rpm - phantomjs (~> 1.9) + phantomjs (~> 1.9.7.1) rack (~> 1.5) rack-contrib (~> 1.1) rake (~> 10.3) diff --git a/pegasus/forms/company_profile.rb b/pegasus/forms/company_profile.rb new file mode 100644 index 0000000000000..eaf4840abd229 --- /dev/null +++ b/pegasus/forms/company_profile.rb @@ -0,0 +1,19 @@ +class CompanyProfile + + def self.normalize(data) + {}.tap do |result| + result[:email_s] = 'anonymous@code.org' + result[:name_s] = required downcased stripped data[:name_s] + result[:display_name_s] = required stripped data[:display_name_s] + result[:video_key_s] = nil_if_empty stripped data[:video_key_s] + result[:intro_top_copy_t] = nil_if_empty stripped data[:intro_top_copy_t] + result[:intro_bottom_copy_t] = nil_if_empty stripped data[:intro_bottom_copy_t] + result[:additional_actions_copy_t] = nil_if_empty stripped data[:additional_actions_copy_t] + + if FormError.detect_errors(result).empty? + result[:logo_path_s] = nil_if_empty uploaded_file data[:logo_file] + end + end + end + +end diff --git a/pegasus/helpers/hoc_helpers.rb b/pegasus/helpers/hoc_helpers.rb index 14effbc7382f0..c84fa3ab67f83 100644 --- a/pegasus/helpers/hoc_helpers.rb +++ b/pegasus/helpers/hoc_helpers.rb @@ -61,8 +61,21 @@ def complete_tutorial(tutorial=nil) end end + # TODO(dave): split into complete_tutorial_new and + # complete_tutorial_old. Also split other methods + # [launch|complete}_tutorial[_pixel]. + + # For now, Do the bare minimum to bring a user with a + # company-specific cookie to the right congrats page. + sequel_row = DB[:hoc_activity].where(session:request.cookies['hour_of_code']).first + company = sequel_row[:company] if sequel_row + expires 0, :private, :must_revalidate - redirect((row ? "http://#{row.referer}/congrats?i=#{row.session}" : '/congrats'), 302) + if company + redirect((row ? "http://#{row.referer}/congrats?i=#{row.session}&co=#{company}" : '/congrats'), 302) + else + redirect((row ? "http://#{row.referer}/congrats?i=#{row.session}" : '/congrats'), 302) + end end def complete_tutorial_pixel(tutorial) @@ -88,16 +101,28 @@ def complete_tutorial_pixel(tutorial) send_file sites_dir('all/images/1x1.png'), type:'image/png' end -def launch_tutorial(tutorial) +def launch_tutorial(tutorial,params={}) unless settings.read_only + session = SecureRandom.hex + row = HourOfActivity.create({ - session: SecureRandom.hex, + session: session, referer: request.referer_site_with_port, tutorial: tutorial[:code], started: true, create_ip: request.ip, }) - set_tutorial_session_cookie(row.session) + + DB[:hoc_activity].insert( + session:session, + referer:request.referer_site_with_port, + tutorial:tutorial[:code], + company:params[:company], + started_at:DateTime.now, + started_ip:request.ip, + ) + + set_tutorial_session_cookie(session) end expires 0, :private, :must_revalidate @@ -121,6 +146,22 @@ def launch_tutorial_pixel(tutorial) }) set_tutorial_session_cookie(row.session) end + + row = DB[:hoc_activity].where(session:request.cookies['hour_of_code'], pixel_started_at:nil, pixel_finished_at:nil, finished_at:nil).first + if row + DB[:hoc_activity].update(pixel_started_at:DateTime.now, pixel_started_ip:request.ip).where(id:row[:id]) + else + session = SecureRandom.hex + DB[:hoc_activity].insert( + session:session, + referer:request.referer_site_with_port, + tutorial:tutorial[:code], + company:params[:company], + pixel_started_at:DateTime.now, + pixel_started_ip:request.ip, + ) + set_tutorial_session_cookie(session) + end end expires 0, :private, :must_revalidate diff --git a/pegasus/migrations/49_create_hoc_actvitiy_table.rb b/pegasus/migrations/49_create_hoc_actvitiy_table.rb new file mode 100644 index 0000000000000..02cfdb986090d --- /dev/null +++ b/pegasus/migrations/49_create_hoc_actvitiy_table.rb @@ -0,0 +1,29 @@ +Sequel.migration do + up do + create_table(:hoc_activity, charset:'utf8') do + primary_key :id + String :session, unique:true, null:false, index:true, size:50 + String :referer, size:50 + String :company, index:true, size:50 + String :tutorial, index:true, null:false, size:50 + + DateTime :started_at + String :started_ip, size:50 + DateTime :pixel_started_at + String :pixel_started_ip, size:50 + DateTime :pixel_finsihed_at + String :pixel_finished_ip, size:50 + DateTime :finished_at + String :finished_ip, size:50 + + String :country_code, index:true, size:2 + String :state_code, index:true, size:2 # e.g. + String :city, index:true, size:50 + String :location, size:50 # "lat,long" + end + end + + down do + drop_table(:hoc_activity) + end +end diff --git a/pegasus/routes/form_routes.rb b/pegasus/routes/form_routes.rb index 7d3172d660ce5..b8e27c5c0ac6c 100644 --- a/pegasus/routes/form_routes.rb +++ b/pegasus/routes/form_routes.rb @@ -25,7 +25,8 @@ begin content_type :json cache_control :private, :must_revalidate, :max_age=>0 - insert_form(kind, params).data.to_json + form = insert_form(kind, params) + form.data.merge(secret: form.secret).to_json rescue FormError=>e halt 400, {'Content-Type'=>'text/json'}, e.errors.to_json end diff --git a/pegasus/routes/hoc_routes.rb b/pegasus/routes/hoc_routes.rb index c102f7468cac2..88038a193a9cb 100644 --- a/pegasus/routes/hoc_routes.rb +++ b/pegasus/routes/hoc_routes.rb @@ -10,6 +10,13 @@ JSON.pretty_generate(fetch_hoc_metrics['tutorials']) end +# Employee engagement +get '/api/hour/begin_company/:company' do |company| + pass unless form = DB[:forms].where(kind:'CompanyProfile', name:company).first + pass unless tutorial = DB[:tutorials].where(code:'codeorg').first + launch_tutorial(tutorial, company:company) +end + get '/api/hour/begin/:code' do |code| only_for ['code.org', 'csedweek.org', 'uk.code.org'] pass unless tutorial = DB[:tutorials].where(code:code).first diff --git a/pegasus/sites.v3/code.org/public/company-profiles/splat.haml b/pegasus/sites.v3/code.org/public/company-profiles/splat.haml new file mode 100644 index 0000000000000..e447d136fbcbe --- /dev/null +++ b/pegasus/sites.v3/code.org/public/company-profiles/splat.haml @@ -0,0 +1,92 @@ +--- +title: "Join the largest learning event in history, Dec 8-14, 2014" +social: + "twitter:card": player + "twitter:site": "@codeorg" + "twitter:url": "http://code.org/" + "twitter:title": "Join the largest learning event in history, Dec 8-14, 2014" + "twitter:description": "The Hour of Code is a global movement reaching tens of millions of students in 170+ countries. Anyone, anywhere can organize an Hour of Code event. One-hour tutorials are available in over 30 languages. No experience needed. Ages 4 to 104." + "twitter:image:src": 'http://csedweek.org/images/hoc-video-thumbnail.jpg' + "twitter:player": 'https://www.youtubeeducation.com/embed/FC5FbmsH4fw?iv_load_policy=3&rel=0&autohide=1&showinfo=0' + "twitter:player:width": 1920 + "twitter:player:height": 1080 +--- + +-facebook = {:u=>"http://#{request.site}/"} + +-twitter = {:url=>"http://#{request.site}/", :related=>'codeorg', :hashtags=>'', :text=>'Join the largest learning event in history, Dec 8-14, 2014'} +-twitter[:hashtags] = 'HourOfCode' + + + +-pass unless form = DB[:forms].where(kind:'CompanyProfile', name:request.splat_path_info[1..-1]).first +-company = JSON.parse(form[:data]) + +%link{rel: "stylesheet", type: "text/css", href: "/css/ee.css"}/ + + +#company_header + #alignment-spacer + -if company['logo_path_s'] + %img#company_logo{src:"/forms/uploads/#{company['logo_path_s']}", width: "50px", height: "50px"} + %h1.ee_display_name= company['display_name_s'] + +-# TODO(dave): implement user_entered_markdown function. +#intro_top + -if company['intro_top_copy_t'] + =markdown company['intro_top_copy_t'].to_s + -else + :markdown + ## #{company['display_name_s']} asks all its employees to try an Hour of Code in support of computer science education + + Computer science is the defining field of the 21st century, yet most of us never learn it, and most schools don't even offer it. In support of our children's education and our future, we are asking every #{company['display_name_s']} employee to try an Hour of Code. Even if you already know computer science, you can try the modern tutorials, and help others learn. + + Give it a shot. This is a tutorial that even 8-year-olds can do, and it's fun. Let's see how close we can get to 100% participation! + +%br + +#top + #video.col-63.desktop-pad-right{style: 'padding-right: 30px;'} + = view :employee_engagement_video, custom_video_key:company['video_key_s'] + + #start.col-36 + #blurb.col-mobile-56.mobile-pad-right + %br.desktop-feature + + #companystats.col-mobile-44 + .desktop-feature + #blurb.col-mobile-56.mobile-pad-right + %br.desktop-feature + + .count{:style=>'font-size: 32px; line-height: 32px; font-weight:500' } + 5,455 #{company['display_name_s']} employees have tried the Hour of Code. + %h4.desktop-feature{style: 'font-size: 22px;'} + 40% Completed + %br + 60% Not started + %br + + #getstarted.col-mobile-44 + #largegap.mobile-show-medium + %a{:href=>"/api/hour/begin_company/#{company['name_s']}"} + %button.btn.btn-default + Start now + + + #below.mobile-center{:style=>'clear:both; overflow:hidden; padding-top: 0px'} + -unless company['video_key_s'] + = view :share_buttons, facebook:facebook, twitter:twitter, download_url:"http://s3.amazonaws.com/cdo-videos/HoC-video-15mb.mp4" + +#intro_bottom + -if company['intro_bottom_copy_t'] + =markdown company['intro_bottom_copy_t'] + -else + :markdown + ## Other links: + - Engineers, sign up to be a guest speaker in a classroom via Skype + - Donate to Code.org's crowdfunding campaign to support computer science education in schools + - Ask your local school to organize an Hour of Code + +.row + .col-xs-12 + =view :stats_hoc_2013 diff --git a/pegasus/sites.v3/code.org/public/create-company-profile.haml b/pegasus/sites.v3/code.org/public/create-company-profile.haml new file mode 100644 index 0000000000000..f9a4d3a6e68a6 --- /dev/null +++ b/pegasus/sites.v3/code.org/public/create-company-profile.haml @@ -0,0 +1,3 @@ +-unauthorized! unless dashboard_user +-forbidden! unless dashboard_user[:admin] +=view :company_profile_form, data:{}, secret:nil diff --git a/pegasus/sites.v3/code.org/public/css/ee.css b/pegasus/sites.v3/code.org/public/css/ee.css new file mode 100644 index 0000000000000..716996ecffa40 --- /dev/null +++ b/pegasus/sites.v3/code.org/public/css/ee.css @@ -0,0 +1,160 @@ +#company_header { + margin-top: 20px; +} +#company_logo { + display: inline-block; + vertical-align: middle; + margin-right: 10px; +} +h1.ee_display_name { + display: inline-block; + margin-top: 0px; + margin-bottom: 0px; + vertical-align: middle; + color: dimgray; +} +#intro_top { + color: black; +} +#intro_top h1 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} +#intro_top h2 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} +#intro_top h3 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} +#intro_top h4 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} + +#intro_bottom { + color: black; +} +#intro_bottom h1 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} +#intro_bottom h2 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} +#intro_bottom h3 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} +#intro_bottom h4 { + color: black; + margin-top: 20px; + margin-bottom: 10px; +} + +#video { + float: left; +} + +#start { + float: left; +} + +#index { + margin-bottom: 20px; +} + +#additional_actions { + max-width: 600px; +} + +#top { + background-color: #000; padding: 20px +} + +.count { + color: white; +} + +.count h1 { + color: white; font-size: 56px; line-height: 56px; font-weight: 500; margin: 0px; +} + +@media screen and (max-width: 320px) +{ + .count h1 { + font-size: 52px; + } +} + +.count h2 { + color: white; font-size: 36px; line-height: 36px; font-weight: 600; margin-top:5px; margin-bottom: 0px; +} +.count h3 { + color: white; font-size: 32px; line-height: 32px; font-weight: 400; margin-top:5px; margin-bottom:0px; +} +.count h4 { + color: white; font-size: 26px; line-height: 26px; font-weight: 400; margin-top:15px; +} + +button { + -webkit-appearance: none; + -webkit-user-select: none; + -webkit-writing-mode: horizontal-tb; + align-items: flex-start; + background-color: rgb(255, 128, 0) ; + border-color: rgb(255, 128, 0) ; + background-image: none; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom-style: solid; + border-bottom-width: 1px; + border-image-outset: 0px; + border-image-repeat: stretch; + border-image-slice: 100%; + border-image-source: none; + border-image-width: 1; + border-left-style: solid; + border-left-width: 1px; + border-right-style: solid; + border-right-width: 1px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-top-style: solid; + border-top-width: 1px; + box-sizing: border-box; + color: rgb(255, 255, 255); + cursor: pointer; + display: inline-block; + font-family: 'Gotham A','Gotham B',sans-serif; + font-size: 14px; + font-weight: normal; + height: 34px; + letter-spacing: normal; + line-height: 20px; + margin-bottom: 0px; + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + padding-bottom: 6px; + padding-left: 12px; + padding-right: 12px; + padding-top: 6px; + text-align: center; + text-indent: 0px; + text-shadow: none; + text-transform: none; + vertical-align: middle; + white-space: nowrap; + word-spacing: 0px; + writing-mode: lr-tb; +} diff --git a/pegasus/sites.v3/code.org/public/css/ee_form.css b/pegasus/sites.v3/code.org/public/css/ee_form.css new file mode 100644 index 0000000000000..084ce089c667e --- /dev/null +++ b/pegasus/sites.v3/code.org/public/css/ee_form.css @@ -0,0 +1,3 @@ +form#company_profile { + margin-top: 20px; +} \ No newline at end of file diff --git a/pegasus/sites.v3/code.org/public/edit-company-profile/splat.haml b/pegasus/sites.v3/code.org/public/edit-company-profile/splat.haml new file mode 100644 index 0000000000000..debc08dc29df5 --- /dev/null +++ b/pegasus/sites.v3/code.org/public/edit-company-profile/splat.haml @@ -0,0 +1,6 @@ +--- +title: "Edit profile" +--- +-secret = request.splat_path_info[1..-1] +-pass unless form = DB[:forms].where(kind:'CompanyProfile', secret:secret).first +=view :company_profile_form, data:JSON.parse(form[:data]), secret:secret diff --git a/pegasus/sites.v3/code.org/public/images/stats-hoc-2013.png b/pegasus/sites.v3/code.org/public/images/stats-hoc-2013.png new file mode 100644 index 0000000000000..804dcafcc1c3e Binary files /dev/null and b/pegasus/sites.v3/code.org/public/images/stats-hoc-2013.png differ diff --git a/pegasus/sites.v3/code.org/public/index.haml b/pegasus/sites.v3/code.org/public/index.haml index db05011bb07dc..0798040498c3f 100644 --- a/pegasus/sites.v3/code.org/public/index.haml +++ b/pegasus/sites.v3/code.org/public/index.haml @@ -1,6 +1,6 @@ --- theme: responsive -banner: <%= request.site == 'csedweek.org' ? :index_hoc : :index_loc %> +banner: <%= request.site == 'csedweek.org' ? :index_hoc : :index_k5workshops %> <% if request.site == 'csedweek.org' twitter_meta = { diff --git a/pegasus/sites.v3/code.org/views/company_profile_form.haml b/pegasus/sites.v3/code.org/views/company_profile_form.haml new file mode 100644 index 0000000000000..30fa041821c46 --- /dev/null +++ b/pegasus/sites.v3/code.org/views/company_profile_form.haml @@ -0,0 +1,89 @@ +%link{rel: "stylesheet", type: "text/css", href: "/css/ee_form.css"}/ + +%form#company_profile + %table + -if secret + %tr + %th{colspan:2} + Instructions: + %tr + %th{colspan:2} + 1. Bookmark this page! (Cmd-D or Ctrl-D) + %tr + %th{colspan:2} + 2. update company info: + %tr + %th + Name + %td + %input{name:'name_s', value:data['name_s']} + %tr + %th + Display Name + %td + %input{name:'display_name_s', value:data['display_name_s']} + -if secret + %tr + %th + Video Key + %td + %input{name:'video_key_s', value:data['video_key_s']} + %tr + %th + Intro (Top) + %td + %textarea{name:'intro_top_copy_t', cols:'80', rows:'4'}= data['intro_top_copy_t'] + %tr + %th + Intro (Bottom) + %td + %textarea{name:'intro_bottom_copy_t', cols:'80', rows:'4'}= data['intro_bottom_copy_t'] + %tr + %th + Additional Actions + %td + %textarea{name:'additional_actions_copy_t', cols:'80', rows:'4'}= data['additional_actions_copy_t'] + %tr + %th + Logo + %td + %input{name:'logo_file', type:'file'} + %tr + %th{colspan:2} + 3. + %button Submit + %tr + %th{colspan:2} + 4. + %a{href: "/company-profiles/#{data['name_s']}"} + View #{data['display_name_s']}'s landing page + + + +:javascript + function processResponse(data) + { + if (data.secret) { + window.location = '/edit-company-profile/' + data.secret; + } else { + window.alert('Saved'); + } + } + + function processError(data) + { + window.alert(data.status + "\n" + data.responseJSON) + } + + $('#company_profile').submit( + function( e ) { + $.ajax({ + url: "/forms/CompanyProfile#{secret ? '/'+secret : ''}", + type: "post", + data: new FormData( this ), + processData: false, + contentType: false + }).done(processResponse).fail(processError); + return false; + } + ); diff --git a/pegasus/sites.v3/code.org/views/employee_engagement_video.haml b/pegasus/sites.v3/code.org/views/employee_engagement_video.haml new file mode 100644 index 0000000000000..36bd7b33cadb3 --- /dev/null +++ b/pegasus/sites.v3/code.org/views/employee_engagement_video.haml @@ -0,0 +1,14 @@ +-default_video_key = 'FC5FbmsH4fw' +-default_download_url = "http://s3.amazonaws.com/cdo-videos/HoC-video-15mb.mp4" + +%div{style: "text-align:right"} + %div{style: "width:100%; height: 100%; margin: 0 auto;"} + %div{style: "position:relative"} + %img{style: "display:block; width:100%; height:auto", src: "/images/16x9.png"}/ + -if custom_video_key + %iframe{style: "position:absolute; top: 0; left: 0; width: 100%; height: 100%", src: "https://www.youtube.com/embed/#{custom_video_key}?iv_load_policy=3&rel=0&autohide=1&showinfo=0", frameborder: "0", allowfullscreen: true} + -else + %iframe{style: "position:absolute; top: 0; left: 0; width: 100%; height: 100%", src: "https://www.youtubeeducation.com/embed/#{default_video_key}?iv_load_policy=3&rel=0&autohide=1&showinfo=0", frameborder: "0", allowfullscreen: true} + -unless custom_video_key + %a.mobile-feature{href: default_download_url} + %img{style: "width: 34px; padding-top: 2px;", src: "/images/download.png"}/ diff --git a/pegasus/sites.v3/code.org/views/index_k5workshops.haml b/pegasus/sites.v3/code.org/views/index_k5workshops.haml new file mode 100644 index 0000000000000..2380b4dc29dfe --- /dev/null +++ b/pegasus/sites.v3/code.org/views/index_k5workshops.haml @@ -0,0 +1,5 @@ +.lines_of_code_header{style: "font-size: 28px"} + %a.lines_of_code_link{:href=>"/educate/k5"} + Teaching grades K-5? Attend our free 1-day workshops! + %span{style: "opacity: 0.6"} + (US only) diff --git a/pegasus/sites.v3/code.org/views/stats_hoc_2013.haml b/pegasus/sites.v3/code.org/views/stats_hoc_2013.haml new file mode 100644 index 0000000000000..d5dc6ff679591 --- /dev/null +++ b/pegasus/sites.v3/code.org/views/stats_hoc_2013.haml @@ -0,0 +1,3 @@ +%div{style: 'text-align: center; margin: 3em 0;'} + %h2= I18n.t(:stats_hoc_2013_heading) + %img{src: '/images/fit-960/stats-hoc-2013.jpg', alt: I18n.t(:stats_hoc_2013_image_alt)}/ diff --git a/pegasus/src/database/form.rb b/pegasus/src/database/form.rb index 293b6f3927a22..a218115bc1d0d 100644 --- a/pegasus/src/database/form.rb +++ b/pegasus/src/database/form.rb @@ -5,7 +5,7 @@ class Form property :secret, String, unique_index: true, required: true property :user_id, Integer, index: true property :email, String, required: true, length: 255, index: true - property :name, String, length: 255 + property :name, String, length: 255, index: true property :kind, String, required: true, index: true property :data, Json, required: true