pxt-core
Version:
Microsoft MakeCode provides Blocks / JavaScript / Python tools and editors
1 lines • 1.6 MB
JavaScript
"use strict";var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(t){return void 0!==t},goog.isString=function(t){return"string"==typeof t},goog.isBoolean=function(t){return"boolean"==typeof t},goog.isNumber=function(t){return"number"==typeof t},goog.exportPath_=function(t,e,o){t=t.split("."),o=o||goog.global,t[0]in o||void 0===o.execScript||o.execScript("var "+t[0]);for(var i;t.length&&(i=t.shift());)t.length||void 0===e?o=o[i]&&o[i]!==Object.prototype[i]?o[i]:o[i]={}:o[i]=e},goog.define=function(t,e){if(!COMPILED){var o=goog.global.CLOSURE_UNCOMPILED_DEFINES,i=goog.global.CLOSURE_DEFINES;o&&void 0===o.nodeType&&Object.prototype.hasOwnProperty.call(o,t)?e=o[t]:i&&void 0===i.nodeType&&Object.prototype.hasOwnProperty.call(i,t)&&(e=i[t])}return e},goog.FEATURESET_YEAR=2012,goog.DEBUG=!0,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(t){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(t))throw Error('Namespace "'+t+'" already declared.');goog.constructNamespace_(t)},goog.constructNamespace_=function(t,e){if(!COMPILED){delete goog.implicitNamespaces_[t];for(var o=t;(o=o.substring(0,o.lastIndexOf(".")))&&!goog.getObjectByName(o);)goog.implicitNamespaces_[o]=!0}goog.exportPath_(t,e)},goog.getScriptNonce=function(t){return t&&t!=goog.global?goog.getScriptNonce_(t.document):(null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(t){return(t=t.querySelector&&t.querySelector("script[nonce]"))&&(t=t.nonce||t.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(t)?t:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(t){if("string"!=typeof t||!t||-1==t.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+t+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=t,!COMPILED){if(goog.isProvided_(t))throw Error('Namespace "'+t+'" already declared.');delete goog.implicitNamespaces_[t]}},goog.module.get=function(t){return goog.module.getInternal_(t)},goog.module.getInternal_=function(t){if(!COMPILED){if(t in goog.loadedModules_)return goog.loadedModules_[t].exports;if(!goog.implicitNamespaces_[t])return null!=(t=goog.getObjectByName(t))?t:null}return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var t=goog.global.$jscomp;return!!t&&("function"==typeof t.getCurrentModulePath&&!!t.getCurrentModulePath())},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(t){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(t in goog.loadedModules_)throw Error('Module with namespace "'+t+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=t;else{var e=goog.global.$jscomp;if(!e||"function"!=typeof e.getCurrentModulePath)throw Error('Module with namespace "'+t+'" has been loaded incorrectly.');e=e.require(e.getCurrentModulePath()),goog.loadedModules_[t]={exports:e,type:goog.ModuleType.ES6,moduleId:t}}},goog.setTestOnly=function(t){if(goog.DISALLOW_TEST_ONLY_CODE)throw t=t||"",Error("Importing test-only code into non-debug environment"+(t?": "+t:"."))},goog.forwardDeclare=function(t){},COMPILED||(goog.isProvided_=function(t){return t in goog.loadedModules_||!goog.implicitNamespaces_[t]&&null!=goog.getObjectByName(t)},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(t,e){t=t.split("."),e=e||goog.global;for(var o=0;o<t.length;o++)if(null==(e=e[t[o]]))return null;return e},goog.globalize=function(t,e){for(var o in e=e||goog.global,t)e[o]=t[o]},goog.addDependency=function(t,e,o,i){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(t,e,o,i)},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(t){goog.global.console&&goog.global.console.error(t)},goog.require=function(t){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(t),goog.isProvided_(t)){if(goog.isInModuleLoader_())return goog.module.getInternal_(t)}else if(goog.ENABLE_DEBUG_LOADER){var e=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(t)}finally{goog.moduleLoaderState_=e}}return null}},goog.requireType=function(t){return{}},goog.basePath="",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(t){t.instance_=void 0,t.getInstance=function(){return t.instance_?t.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=t),t.instance_=new t)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.TRANSPILE="detect",goog.ASSUME_ES_MODULES_TRANSPILED=!1,goog.TRANSPILE_TO_LANGUAGE="",goog.TRANSPILER="transpile.js",goog.hasBadLetScoping=null,goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(t){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping},goog.workaroundSafari10EvalBug=function(t){return"(function(){"+t+"\n;})();\n"},goog.loadModule=function(t){var e=goog.moduleLoaderState_;try{if(goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG},goog.isFunction(t))var o=t.call(void 0,{});else{if("string"!=typeof t)throw Error("Invalid module definition");goog.useSafari10Workaround()&&(t=goog.workaroundSafari10EvalBug(t)),o=goog.loadModuleFromSource_.call(void 0,t)}var i=goog.moduleLoaderState_.moduleName;if("string"!=typeof i||!i)throw Error('Invalid module name "'+i+'"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(i,o):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof o&&null!=o&&Object.seal(o),goog.loadedModules_[i]={exports:o,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName}}finally{goog.moduleLoaderState_=e}},goog.loadModuleFromSource_=function(a){return eval(a),{}},goog.normalizePath_=function(t){t=t.split("/");for(var e=0;e<t.length;)"."==t[e]?t.splice(e,1):e&&".."==t[e]&&t[e-1]&&".."!=t[e-1]?t.splice(--e,2):e++;return t.join("/")},goog.loadFileSync_=function(t){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(t);try{var e=new goog.global.XMLHttpRequest;return e.open("get",t,!1),e.send(),0==e.status||200==e.status?e.responseText:null}catch(t){return null}},goog.transpile_=function(t,e,o){var i=goog.global.$jscomp;i||(goog.global.$jscomp=i={});var n=i.transpile;if(!n){var l=goog.basePath+goog.TRANSPILER,s=goog.loadFileSync_(l);if(s){if(function(){(0,eval)(s+"\n//# sourceURL="+l)}.call(goog.global),goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile,n=(i=goog.global.$jscomp).transpile}}return n||(n=i.transpile=function(t,e){return goog.logToConsole_(e+" requires transpilation but no transpiler was found."),t}),n(t,e,o)},goog.typeOf=function(t){var e=typeof t;if("object"==e){if(!t)return"null";if(t instanceof Array)return"array";if(t instanceof Object)return e;var o=Object.prototype.toString.call(t);if("[object Window]"==o)return"object";if("[object Array]"==o||"number"==typeof t.length&&void 0!==t.splice&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("splice"))return"array";if("[object Function]"==o||void 0!==t.call&&void 0!==t.propertyIsEnumerable&&!t.propertyIsEnumerable("call"))return"function"}else if("function"==e&&void 0===t.call)return"object";return e},goog.isNull=function(t){return null===t},goog.isDefAndNotNull=function(t){return null!=t},goog.isArray=function(t){return"array"==goog.typeOf(t)},goog.isArrayLike=function(t){var e=goog.typeOf(t);return"array"==e||"object"==e&&"number"==typeof t.length},goog.isDateLike=function(t){return goog.isObject(t)&&"function"==typeof t.getFullYear},goog.isFunction=function(t){return"function"==goog.typeOf(t)},goog.isObject=function(t){var e=typeof t;return"object"==e&&null!=t||"function"==e},goog.getUid=function(t){return t[goog.UID_PROPERTY_]||(t[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(t){return!!t[goog.UID_PROPERTY_]},goog.removeUid=function(t){null!==t&&"removeAttribute"in t&&t.removeAttribute(goog.UID_PROPERTY_);try{delete t[goog.UID_PROPERTY_]}catch(t){}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(t){var e=goog.typeOf(t);if("object"==e||"array"==e){if("function"==typeof t.clone)return t.clone();for(var o in e="array"==e?[]:{},t)e[o]=goog.cloneObject(t[o]);return e}return t},goog.bindNative_=function(t,e,o){return t.call.apply(t.bind,arguments)},goog.bindJs_=function(t,e,o){if(!t)throw Error();if(2<arguments.length){var i=Array.prototype.slice.call(arguments,2);return function(){var o=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(o,i),t.apply(e,o)}}return function(){return t.apply(e,arguments)}},goog.bind=function(t,e,o){return Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(t,e){var o=Array.prototype.slice.call(arguments,1);return function(){var e=o.slice();return e.push.apply(e,arguments),t.apply(this,e)}},goog.mixin=function(t,e){for(var o in e)t[o]=e[o]},goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date},goog.globalEval=function(t){if(goog.global.execScript)goog.global.execScript(t,"JavaScript");else{if(!goog.global.eval)throw Error("goog.globalEval not available");if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(t){}if(void 0!==goog.global._evalTest_){try{delete goog.global._evalTest_}catch(t){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(t);else{var e=goog.global.document,o=e.createElement("script");o.type="text/javascript",o.defer=!1,o.appendChild(e.createTextNode(t)),e.head.appendChild(o),e.head.removeChild(o)}}},goog.evalWorksForGlobals_=null,goog.getCssName=function(t,e){if("."==String(t).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+t);var o=function(t){return goog.cssNameMapping_[t]||t},i=function(t){t=t.split("-");for(var e=[],i=0;i<t.length;i++)e.push(o(t[i]));return e.join("-")};return i=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?o:i:function(t){return t},t=e?t+"-"+i(e):i(t),goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(t):t},goog.setCssNameMapping=function(t,e){goog.cssNameMapping_=t,goog.cssNameMappingStyle_=e},!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING),goog.getMsg=function(t,e,o){return o&&o.html&&(t=t.replace(/</g,"<")),e&&(t=t.replace(/\{\$([^}]+)}/g,(function(t,o){return null!=e&&o in e?e[o]:t}))),t},goog.getMsgWithFallback=function(t,e){return t},goog.exportSymbol=function(t,e,o){goog.exportPath_(t,e,o)},goog.exportProperty=function(t,e,o){t[e]=o},goog.inherits=function(t,e){function o(){}o.prototype=e.prototype,t.superClass_=e.prototype,t.prototype=new o,t.prototype.constructor=t,t.base=function(t,o,i){for(var n=Array(arguments.length-2),l=2;l<arguments.length;l++)n[l-2]=arguments[l];return e.prototype[o].apply(t,n)}},goog.base=function(t,e,o){var i=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!i)throw Error("arguments.caller not defined. goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(void 0!==i.superClass_){for(var n=Array(arguments.length-1),l=1;l<arguments.length;l++)n[l-1]=arguments[l];return i.superClass_.constructor.apply(t,n)}if("string"!=typeof e&&"symbol"!=typeof e)throw Error("method names provided to goog.base must be a string or a symbol");for(n=Array(arguments.length-2),l=2;l<arguments.length;l++)n[l-2]=arguments[l];l=!1;for(var s=t.constructor.prototype;s;s=Object.getPrototypeOf(s))if(s[e]===i)l=!0;else if(l)return s[e].apply(t,n);if(t[e]===i)return t.constructor.prototype[e].apply(t,n);throw Error("goog.base called from a method of one name to a method of a different name")},goog.scope=function(t){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");t.call(goog.global)},COMPILED||(goog.global.COMPILED=COMPILED),goog.defineClass=function(t,e){var o=e.constructor,i=e.statics;return o&&o!=Object.prototype.constructor||(o=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),o=goog.defineClass.createSealingConstructor_(o,t),t&&goog.inherits(o,t),delete e.constructor,delete e.statics,goog.defineClass.applyProperties_(o.prototype,e),null!=i&&(i instanceof Function?i(o):goog.defineClass.applyProperties_(o,i)),o},goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(t,e){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return t;var o=!goog.defineClass.isUnsealable_(e),i=function(){var e=t.apply(this,arguments)||this;return e[goog.UID_PROPERTY_]=e[goog.UID_PROPERTY_],this.constructor===i&&o&&Object.seal instanceof Function&&Object.seal(e),e};return i},goog.defineClass.isUnsealable_=function(t){return t&&t.prototype&&t.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.defineClass.applyProperties_=function(t,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);for(var i=0;i<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;i++)o=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[i],Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o])},goog.tagUnsealableClass=function(t){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(t.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)},goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable",!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var t=goog.global.document;return null!=t&&"write"in t},goog.isDocumentLoading_=function(){var t=goog.global.document;return t.attachEvent?"complete"!=t.readyState:"loading"==t.readyState},goog.findBasePath_=function(){if(null!=goog.global.CLOSURE_BASE_PATH&&"string"==typeof goog.global.CLOSURE_BASE_PATH)goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var t=goog.global.document,e=t.currentScript;for(e=(t=e?[e]:t.getElementsByTagName("SCRIPT")).length-1;0<=e;--e){var o=t[e].src,i=o.lastIndexOf("?");if(i=-1==i?o.length:i,"base.js"==o.substr(i-7,7)){goog.basePath=o.substr(0,i-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null,this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(t,o){e?d[t]=!0:o()?(c=t,d[t]=!1):e=d[t]=!0}function b(a){try{return!!eval(a)}catch(t){return!1}}var c="es3",d={es3:!1},e=!1,f=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";return a("es5",(function(){return b("[1,].length==1")})),a("es6",(function(){return!f.match(/Edge\/(\d+)(\.\d)*/i)&&b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')})),a("es7",(function(){return b("2 ** 2 == 4")})),a("es8",(function(){return b("async () => 1, true")})),a("es9",(function(){return b("({...rest} = {}), true")})),a("es_next",(function(){return!1})),{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(t,e){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var o=this.createRequiresTranspilation_();this.requiresTranspilation_=o.map,this.transpilationTarget_=this.transpilationTarget_||o.target}if(t in this.requiresTranspilation_)return!!this.requiresTranspilation_[t]||!(!goog.inHtmlDocument_()||"es6"!=e||"noModule"in goog.global.document.createElement("script"));throw Error("Unknown language mode: "+t)},goog.Transpiler.prototype.transpile=function(t,e){return goog.transpile_(t,e,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(t){return t.replace(/<\/(SCRIPT)/gi,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory(goog.transpiler_),this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(t,e){function o(){i&&(goog.global.setTimeout(i,0),i=null)}var i=e;if(t.length){e=[];for(var n=0;n<t.length;n++){var l=this.getPathFromDeps_(t[n]);if(!l)throw Error("Unregonized namespace: "+t[n]);e.push(this.dependencies_[l])}l=goog.require;var s=0;for(n=0;n<t.length;n++)l(t[n]),e[n].onLoad((function(){++s==t.length&&o()}))}else o()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1)),this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(t,e){(t=this.getPathFromDeps_(t))&&(e||this.areDepsLoaded_(this.dependencies_[t].requires))&&(e=this.deferredCallbacks_[t])&&(delete this.deferredCallbacks_[t],e())},goog.DebugLoader_.prototype.setDependencyFactory=function(t){this.factory_=t},goog.DebugLoader_.prototype.load_=function(t){if(!this.getPathFromDeps_(t))throw t="goog.require could not find: "+t,goog.logToConsole_(t),Error(t);var e=this,o=[],i=function(t){var n=e.getPathFromDeps_(t);if(!n)throw Error("Bad dependency path or symbol: "+t);if(!e.written_[n]){for(e.written_[n]=!0,t=e.dependencies_[n],n=0;n<t.requires.length;n++)goog.isProvided_(t.requires[n])||i(t.requires[n]);o.push(t)}};i(t),t=!!this.depsToLoad_.length,this.depsToLoad_=this.depsToLoad_.concat(o),this.paused_||t||this.loadDeps_()},goog.DebugLoader_.prototype.loadDeps_=function(){for(var t=this,e=this.paused_;this.depsToLoad_.length&&!e;)!function(){var o=!1,i=t.depsToLoad_.shift(),n=!1;t.loading_(i);var l={pause:function(){if(o)throw Error("Cannot call pause after the call to load.");e=!0},resume:function(){o?t.resume_():e=!1},loaded:function(){if(n)throw Error("Double call to loaded.");n=!0,t.loaded_(i)},pending:function(){for(var e=[],o=0;o<t.loadingDeps_.length;o++)e.push(t.loadingDeps_[o]);return e},setModuleState:function(t){goog.moduleLoaderState_={type:t,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(t,e,o){o&&(goog.loadedModules_[o]={exports:e,type:goog.ModuleType.ES6,moduleId:o||""})},registerGoogModuleExports:function(t,e){goog.loadedModules_[t]={exports:e,type:goog.ModuleType.GOOG,moduleId:t}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(e){if(o)throw Error("Cannot register with defer after the call to load.");t.defer_(i,e)},areDepsLoaded:function(){return t.areDepsLoaded_(i.requires)}};try{i.load(l)}finally{o=!0}}();e&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(t){this.loadingDeps_.push(t)},goog.DebugLoader_.prototype.loaded_=function(t){for(var e=0;e<this.loadingDeps_.length;e++)if(this.loadingDeps_[e]==t){this.loadingDeps_.splice(e,1);break}for(e=0;e<this.deferredQueue_.length;e++)if(this.deferredQueue_[e]==t.path){this.deferredQueue_.splice(e,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);t.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(t){for(var e=0;e<t.length;e++){var o=this.getPathFromDeps_(t[e]);if(!o||!(o in this.deferredCallbacks_)&&!goog.isProvided_(t[e]))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(t){return t in this.idToPath_?this.idToPath_[t]:t in this.dependencies_?t:null},goog.DebugLoader_.prototype.defer_=function(t,e){this.deferredCallbacks_[t.path]=e,this.deferredQueue_.push(t.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(t,e,o){},goog.LoadController.prototype.setModuleState=function(t){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(t){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(t,e,o,i,n){this.path=t,this.relativePath=e,this.provides=o,this.requires=i,this.loadFlags=n,this.loaded_=!1,this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var t=this.path,e=t.indexOf("://");return 0<=e&&(0<=(e=(t=t.substring(e+3)).indexOf("/"))&&(t=t.substring(e+1))),t},goog.Dependency.prototype.onLoad=function(t){this.loaded_?t():this.loadCallbacks_.push(t)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var t=this.loadCallbacks_;this.loadCallbacks_=[];for(var e=0;e<t.length;e++)t[e]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(t){var e=Math.random().toString(32);return goog.Dependency.callbackMap_[e]=t,e},goog.Dependency.unregisterCallback_=function(t){delete goog.Dependency.callbackMap_[t]},goog.Dependency.callback_=function(t,e){if(!(t in goog.Dependency.callbackMap_))throw Error("Callback key "+t+" does not exist (was base.js loaded more than once?).");for(var o=goog.Dependency.callbackMap_[t],i=[],n=1;n<arguments.length;n++)i.push(arguments[n]);o.apply(void 0,i)},goog.Dependency.prototype.load=function(t){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?t.loaded():t.pause();else if(goog.inHtmlDocument_()){var e=goog.global.document;if("complete"==e.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path))return void t.loaded();throw Error('Cannot write "'+this.path+'" after document load')}if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var o=goog.Dependency.registerCallback_((function(e){goog.DebugLoader_.IS_OLD_IE_&&"complete"!=e.readyState||(goog.Dependency.unregisterCallback_(o),t.loaded())})),i=!goog.DebugLoader_.IS_OLD_IE_&&goog.getScriptNonce()?' nonce="'+goog.getScriptNonce()+'"':"";i='<script src="'+this.path+'" '+(goog.DebugLoader_.IS_OLD_IE_?"onreadystatechange":"onload")+"=\"goog.Dependency.callback_('"+o+'\', this)" type="text/javascript" '+(goog.Dependency.defer_?"defer":"")+i+"><\/script>",e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(i):i)}else{var n=e.createElement("script");n.defer=goog.Dependency.defer_,n.async=!1,n.type="text/javascript",(i=goog.getScriptNonce())&&n.setAttribute("nonce",i),goog.DebugLoader_.IS_OLD_IE_?(t.pause(),n.onreadystatechange=function(){"loaded"!=n.readyState&&"complete"!=n.readyState||(t.loaded(),t.resume())}):n.onload=function(){n.onload=null,t.loaded()},n.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,e.head.appendChild(n)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),t.loaded()):t.pause()},goog.Es6ModuleDependency=function(t,e,o,i,n){goog.Dependency.call(this,t,e,o,i,n)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(t){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?t.loaded():t.pause();else if(goog.inHtmlDocument_()){var e=goog.global.document,o=this;if(goog.isDocumentLoading_()){var i=function(t,o){t=o?'<script type="module" crossorigin>'+o+"<\/script>":'<script type="module" crossorigin src="'+t+'"><\/script>',e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(t):t)};goog.Dependency.defer_=!0}else i=function(t,o){var i=e.createElement("script");i.defer=!0,i.async=!1,i.type="module",i.setAttribute("crossorigin",!0);var n=goog.getScriptNonce();n&&i.setAttribute("nonce",n),o?i.textContent=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(o):o:i.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(t):t,e.head.appendChild(i)};var n=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(n),t.setModuleState(goog.ModuleType.ES6)}));i(void 0,'goog.Dependency.callback_("'+n+'")'),i(this.path,void 0);var l=goog.Dependency.registerCallback_((function(e){goog.Dependency.unregisterCallback_(l),t.registerEs6ModuleExports(o.path,e,goog.moduleLoaderState_.moduleName)}));i(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+l+'", m)');var s=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(s),t.clearModuleState(),t.loaded()}));i(void 0,'goog.Dependency.callback_("'+s+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),t.pause()},goog.TransformedDependency=function(t,e,o,i,n){goog.Dependency.call(this,t,e,o,i,n),this.contents_=null,this.lazyFetch_=!goog.inHtmlDocument_()||!("noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(t){function e(){i.contents_=goog.loadFileSync_(i.path),i.contents_&&(i.contents_=i.transform(i.contents_),i.contents_&&(i.contents_+="\n//# sourceURL="+i.path))}function o(){if(i.lazyFetch_&&e(),i.contents_){n&&t.setModuleState(goog.ModuleType.ES6);try{var o=i.contents_;if(i.contents_=null,goog.globalEval(o),n)var l=goog.moduleLoaderState_.moduleName}finally{n&&t.clearModuleState()}n&&goog.global.$jscomp.require.ensure([i.getPathName()],(function(){t.registerEs6ModuleExports(i.path,goog.global.$jscomp.require(i.getPathName()),l)})),t.loaded()}}var i=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)e(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,t.loaded()):t.pause();else{var n=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||e();var l=1<t.pending().length,s=l&&goog.DebugLoader_.IS_OLD_IE_;if(l=goog.Dependency.defer_&&(l||goog.isDocumentLoading_()),s||l)t.defer((function(){o()}));else{var r=goog.global.document;if(s=goog.inHtmlDocument_()&&"ActiveXObject"in goog.global,n&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!s){goog.Dependency.defer_=!0,t.pause();var a=r.onreadystatechange;r.onreadystatechange=function(){"interactive"==r.readyState&&(r.onreadystatechange=a,o(),t.resume()),goog.isFunction(a)&&a.apply(void 0,arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?function(){var t=goog.global.document,e=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(e),o()})),i='<script type="text/javascript">'+goog.protectScriptTag_('goog.Dependency.callback_("'+e+'");')+"<\/script>";t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(i):i)}():o()}}},goog.TransformedDependency.prototype.transform=function(t){},goog.TranspiledDependency=function(t,e,o,i,n,l){goog.TransformedDependency.call(this,t,e,o,i,n),this.transpiler=l},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(t){return this.transpiler.transpile(t,this.getPathName())},goog.PreTranspiledEs6ModuleDependency=function(t,e,o,i,n){goog.TransformedDependency.call(this,t,e,o,i,n)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(t){return t},goog.GoogModuleDependency=function(t,e,o,i,n,l,s){goog.TransformedDependency.call(this,t,e,o,i,n),this.needsTranspile_=l,this.transpiler_=s},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(t){return this.needsTranspile_&&(t=this.transpiler_.transpile(t,this.getPathName())),goog.LOAD_MODULE_USING_EVAL&&void 0!==goog.global.JSON?"goog.loadModule("+goog.global.JSON.stringify(t+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+t+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency=function(t,e,o,i){e=e||[],t=t.replace(/\\/g,"/");var n=goog.normalizePath_(goog.basePath+t);for(i&&"boolean"!=typeof i||(i=i?{module:goog.ModuleType.GOOG}:{}),o=this.factory_.createDependency(n,t,e,o,i,goog.transpiler_.needsTranspile(i.lang||"es3",i.module)),this.dependencies_[n]=o,o=0;o<e.length;o++)this.idToPath_[e[o]]=n;this.idToPath_[t]=n},goog.DependencyFactory=function(t){this.transpiler=t},goog.DependencyFactory.prototype.createDependency=function(t,e,o,i,n,l){return n.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(t,e,o,i,n,l,this.transpiler):l?new goog.TranspiledDependency(t,e,o,i,n,this.transpiler):n.module==goog.ModuleType.ES6?"never"==goog.TRANSPILE&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(t,e,o,i,n):new goog.Es6ModuleDependency(t,e,o,i,n):new goog.Dependency(t,e,o,i,n)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(t){goog.debugLoader_.setDependencyFactory(t)},goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(t,e){goog.debugLoader_.bootstrap(t,e)}),goog.TRUSTED_TYPES_POLICY_NAME="",goog.identity_=function(t){return t},goog.createTrustedTypesPolicy=function(t){var e=null,o=goog.global.trustedTypes||goog.global.TrustedTypes;if(!o||!o.createPolicy)return e;try{e=o.createPolicy(t,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(t){goog.logToConsole_(t.message)}return e},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null;var Blockly={connectionTypes:{INPUT_VALUE:1,OUTPUT_VALUE:2,NEXT_STATEMENT:3,PREVIOUS_STATEMENT:4},constants:{},LINE_MODE_MULTIPLIER:40,PAGE_MODE_MULTIPLIER:125,DRAG_RADIUS:3,FLYOUT_DRAG_RADIUS:10,SNAP_RADIUS:48,CONNECTING_SNAP_RADIUS:96,CONNECTION_INDICATOR_RADIUS:9,CURRENT_CONNECTION_PREFERENCE:20,BUMP_DELAY:0,BUMP_RANDOMNESS:10,COLLAPSE_CHARS:30,LONGPRESS:750,SOUND_LIMIT:100,DRAG_STACK:!0,HSV_SATURATION:.45,HSV_VALUE:.65,SPRITE:{width:96,height:124,url:"sprites.png"}};Blockly.constants.ALIGN={LEFT:-1,CENTRE:0,RIGHT:1},Blockly.DRAG_NONE=0,Blockly.DRAG_STICKY=1,Blockly.DRAG_BEGIN=1,Blockly.DRAG_FREE=2,Blockly.OUTPUT_SHAPE_HEXAGONAL=1,Blockly.OUTPUT_SHAPE_ROUND=2,Blockly.OUTPUT_SHAPE_SQUARE=3,Blockly.OPPOSITE_TYPE=[],Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.INPUT_VALUE]=Blockly.connectionTypes.OUTPUT_VALUE,Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.OUTPUT_VALUE]=Blockly.connectionTypes.INPUT_VALUE,Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.NEXT_STATEMENT]=Blockly.connectionTypes.PREVIOUS_STATEMENT,Blockly.OPPOSITE_TYPE[Blockly.connectionTypes.PREVIOUS_STATEMENT]=Blockly.connectionTypes.NEXT_STATEMENT,Blockly.VARIABLE_CATEGORY_NAME="VARIABLE",Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME="VARIABLE_DYNAMIC",Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE",Blockly.CREATE_VARIABLE_ID="CREATE_VARIABLE",Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID",Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID",Blockly.FUNCTION_DEFINITION_BLOCK_TYPE="function_definition",Blockly.FUNCTION_DECLARATION_BLOCK_TYPE="function_declaration",Blockly.FUNCTION_CALL_BLOCK_TYPE="function_call",Blockly.FUNCTION_CALL_OUTPUT_BLOCK_TYPE="function_call_output",Blockly.constants.COLLAPSED_INPUT_NAME="_TEMP_COLLAPSED_INPUT",Blockly.constants.COLLAPSED_FIELD_NAME="_TEMP_COLLAPSED_FIELD",Blockly.utils={},Blockly.utils.global=function(){return"object"==typeof self?self:"object"==typeof window?window:"object"==typeof global?global:this}(),Blockly.Msg={},Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={}),Blockly.utils.global.Blockly.Msg||(Blockly.utils.global.Blockly.Msg=Blockly.Msg),Blockly.utils.colour={},Blockly.utils.colour.parse=function(t){t=String(t).toLowerCase().trim();var e=Blockly.utils.colour.names[t];if(e)return e;if(e="#"==(e="0x"==t.substring(0,2)?"#"+t.substring(2):t)[0]?e:"#"+e,/^#[0-9a-f]{6}$/.test(e))return e;if(/^#[0-9a-f]{3}$/.test(e))return["#",e[1],e[1],e[2],e[2],e[3],e[3]].join("");var o=t.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return o&&(t=Number(o[1]),e=Number(o[2]),o=Number(o[3]),0<=t&&256>t&&0<=e&&256>e&&0<=o&&256>o)?Blockly.utils.colour.rgbToHex(t,e,o):null},Blockly.utils.colour.rgbToHex=function(t,e,o){return e=t<<16|e<<8|o,16>t?"#"+(16777216|e).toString(16).substr(1):"#"+e.toString(16)},Blockly.utils.colour.rgbArrayToHex=function(t){return Blockly.utils.colour.rgbToHex(t[0],t[1],t[2])},Blockly.utils.colour.hexToRgb=function(t){return(t=Blockly.utils.colour.parse(t))?[(t=parseInt(t.substr(1),16))>>16,t>>8&255,255&t]:[0,0,0]},Blockly.utils.colour.hsvToHex=function(t,e,o){var i=0,n=0,l=0;if(0==e)l=n=i=o;else{var s=Math.floor(t/60),r=t/60-s;t=o*(1-e);var a=o*(1-e*r);switch(e=o*(1-e*(1-r)),s){case 1:i=a,n=o,l=t;break;case 2:i=t,n=o,l=e;break;case 3:i=t,n=a,l=o;break;case 4:i=e,n=t,l=o;break;case 5:i=o,n=t,l=a;break;case 6:case 0:i=o,n=e,l=t}}return Blockly.utils.colour.rgbToHex(Math.floor(i),Math.floor(n),Math.floor(l))},Blockly.hueToRgb=function(t){return Blockly.utils.colour.hsvToHex(t,Blockly.HSV_SATURATION,255*Blockly.HSV_VALUE)},Blockly.utils.colour.blend=function(t,e,o){return(t=Blockly.utils.colour.parse(t))&&(e=Blockly.utils.colour.parse(e))?(t=Blockly.utils.colour.hexToRgb(t),e=Blockly.utils.colour.hexToRgb(e),Blockly.utils.colour.rgbToHex(Math.round(e[0]+o*(t[0]-e[0])),Math.round(e[1]+o*(t[1]-e[1])),Math.round(e[2]+o*(t[2]-e[2])))):null},Blockly.utils.colour.darken=function(t,e){return Blockly.utils.colour.blend("#000000",t,e)},Blockly.utils.colour.lighten=function(t,e){return Blockly.utils.colour.blend("#ffffff",t,e)},Blockly.utils.colour.luminance=function(t){return(.2126*t[0]+.7152*t[1]+.0722*t[2])/255},Blockly.utils.colour.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},Blockly.utils.Coordinate=function(t,e){this.x=t,this.y=e},Blockly.utils.Coordinate.equals=function(t,e){return t==e||!(!t||!e)&&(t.x==e.x&&t.y==e.y)},Blockly.utils.Coordinate.distance=function(t,e){var o=t.x-e.x;return t=t.y-e.y,Math.sqrt(o*o+t*t)},Blockly.utils.Coordinate.magnitude=function(t){return Math.sqrt(t.x*t.x+t.y*t.y)},Blockly.utils.Coordinate.difference=function(t,e){return new Blockly.utils.Coordinate(t.x-e.x,t.y-e.y)},Blockly.utils.Coordinate.sum=function(t,e){return new Blockly.utils.Coordinate(t.x+e.x,t.y+e.y)},Blockly.utils.Coordinate.prototype.clone=function(){return new Blockly.utils.Coordinate(this.x,this.y)},Blockly.utils.Coordinate.prototype.scale=function(t){return this.x*=t,this.y*=t,this},Blockly.utils.Coordinate.prototype.translate=function(t,e){return this.x+=t,this.y+=e,this},Blockly.utils.Coordinate.prototype.clone=function(){return new Blockly.utils.Coordinate(this.x,this.y)},Blockly.utils.Rect=function(t,e,o,i){this.top=t,this.bottom=e,this.left=o,this.right=i},Blockly.utils.Rect.prototype.contains=function(t,e){return t>=this.left&&t<=this.right&&e>=this.top&&e<=this.bottom},Blockly.utils.Rect.prototype.intersects=function(t){return!(this.left>t.right||this.right<t.left||this.top>t.bottom||this.bottom<t.top)},Blockly.utils.string={},Blockly.utils.string.startsWith=function(t,e){return 0==t.lastIndexOf(e,0)},Blockly.utils.string.shortestStringLength=function(t){return t.length?t.reduce((function(t,e){return t.length<e.length?t:e})).length:0},Blockly.utils.string.commonWordPrefix=function(t,e){if(!t.length)return 0;if(1==t.length)return t[0].length;var o=0;e=e||Blockly.utils.string.shortestStringLength(t);for(var i=0;i<e;i++){for(var n=t[0][i],l=1;l<t.length;l++)if(n!=t[l][i])return o;" "==n&&(o=i+1)}for(l=1;l<t.length;l++)if((n=t[l][i])&&" "!=n)return o;return e},Blockly.utils.string.commonWordSuffix=function(t,e){if(!t.length)return 0;if(1==t.length)return t[0].length;var o=0;e=e||Blockly.utils.string.shortestStringLength(t);for(var i=0;i<e;i++){for(var n=t[0].substr(-i-1,1),l=1;l<t.length;l++)if(n!=t[l].substr(-i-1,1))return o;" "==n&&(o=i+1)}for(l=1;l<t.length;l++)if((n=t[l].charAt(t[l].length-i-1))&&" "!=n)return o;return e},Blockly.utils.string.wrap=function(t,e){t=t.split("\n");for(var o=0;o<t.length;o++)t[o]=Blockly.utils.string.wrapLine_(t[o],e);return t.join("\n")},Blockly.utils.string.wrapLine_=function(t,e){if(t.length<=e)return t;for(var o=t.trim().split(/\s+/),i=0;i<o.length;i++)o[i].length>e&&(e=o[i].length);i=-1/0;var n=1;do{var l=i,s=t;t=[];var r=o.length/n,a=1;for(i=0;i<o.length-1;i++)a<(i+1.5)/r?(a++,t[i]=!0):t[i]=!1;t=Blockly.utils.string.wrapMutate_(o,t,e),i=Blockly.utils.string.wrapScore_(o,t,e),t=Blockly.utils.string.wrapToText_(o,t),n++}while(i>l);return s},Blockly.utils.string.wrapScore_=function(t,e,o){for(var i=[0],n=[],l=0;l<t.length;l++)i[i.length-1]+=t[l].length,!0===e[l]?(i.push(0),n.push(t[l].charAt(t[l].length-1))):!1===e[l]&&i[i.length-1]++;for(t=Math.max.apply(Math,i),l=e=0;l<i.length;l++)e-=2*Math.pow(Math.abs(o-i[l]),1.5),e-=Math.pow(t-i[l],1.5),-1!=".?!".indexOf(n[l])?e+=o/3:-1!=",;)]}".indexOf(n[l])&&(e+=o/4);return 1<i.length&&i[i.length-1]<=i[i.length-2]&&(e+=.5),e},Blockly.utils.string.wrapMutate_=function(t,e,o){for(var i,n=Blockly.utils.string.wrapScore_(t,e,o),l=0;l<e.length-1;l++)if(e[l]!=e[l+1]){var s=[].concat(e);s[l]=!s[l],s[l+1]=!s[l+1];var r=Blockly.utils.string.wrapScore_(t,s,o);r>n&&(n=r,i=s)}return i?Blockly.utils.string.wrapMutate_(t,i,o):e},Blockly.utils.string.wrapToText_=function(t,e){for(var o=[],i=0;i<t.length;i++)o.push(t[i]),void 0!==e[i]&&o.push(e[i]?"\n":" ");return o.join("")},Blockly.utils.Size=function(t,e){this.width=t,this.height=e},Blockly.utils.Size.equals=function(t,e){return t==e||!(!t||!e)&&(t.width==e.width&&t.height==e.height)},Blockly.utils.style={},Blockly.utils.style.getSize=function(t){if("none"!=Blockly.utils.style.getStyle_(t,"display"))return Blockly.utils.style.getSizeWithDisplay_(t);var e=t.style,o=e.display,i=e.visibility,n=e.position;e.visibility="hidden",e.position="absolute",e.display="inline";var l=t.offsetWidth;return t=t.offsetHeight,e.display=o,e.position=n,e.visibility=i,new Blockly.utils.Size(l,t)},Blockly.utils.style.getSizeWithDisplay_=function(t){return new Blockly.utils.Size(t.offsetWidth,t.offsetHeight)},Blockly.utils.style.getStyle_=function(t,e){return Blockly.utils.style.getComputedStyle(t,e)||Blockly.utils.style.getCascadedStyle(t,e)||t.style&&t.style[e]},Blockly.utils.style.getComputedStyle=function(t,e){return document.defaultView&&document.defaultView.getComputedStyle&&(t=document.defaultView.getComputedStyle(t,null))&&(t[e]||t.getPropertyValue(e))||""},Blockly.utils.style.getCascadedStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:null},Blockly.utils.style.getPageOffset=function(t){var e=new Blockly.utils.Coordinate(0,0);t=t.getBoundingClientRect();var o=document.documentElement;return o=new Blockly.utils.Coordinate(window.pageXOffset||o.scrollLeft,window.pageYOffset||o.scrollTop),e.x=t.left+o.x,e.y=t.top+o.y,e},Blockly.utils.style.getViewportPageOffset=function(){var t=document.body,e=document.documentElement;return new Blockly.utils.Coordinate(t.scrollLeft||e.scrollLeft,t.scrollTop||e.scrollTop)},Blockly.utils.style.setElementShown=function(t,e){t.style.display=e?"":"none"},Blockly.utils.style.isRightToLeft=function(t){return"rtl"==Blockly.utils.style.getStyle_(t,"direction")},Blockly.utils.style.getBorderBox=function(t){var e=Blockly.utils.style.getComputedStyle(t,"borderLeftWidth"),o=Blockly.utils.style.getComputedStyle(t,"borderRightWidth"),i=Blockly.utils.style.getComputedStyle(t,"borderTopWidth");return t=Blockly.utils.style.getComputedStyle(t,"borderBottomWidth"),{top:parseFloat(i),right:parseFloat(o),bottom:parseFloat(t),left:parseFloat(e)}},Blockly.utils.style.scrollIntoContainerView=function(t,e,o){t=Blockly.utils.style.getContainerOffsetToScrollInto(t,e,o),e.scrollLeft=t.x,e.scrollTop=t.y},Blockly.utils.style.getContainerOffsetToScrollInto=function(t,e,o){var i=Blockly.utils.style.getPageOffset(t),n=Blockly.utils.style.getPageOffset(e),l=Blockly.utils.style.getBorderBox(e),s=i.x-n.x-l.left;return i=i.y-n.y-l.top,n=Blockly.utils.style.getSizeWithDisplay_(t),t=e.clientWidth-n.width,n=e.clientHeight-n.height,l=e.scrollLeft,e=e.scrollTop,o?(l+=s-t/2,e+=i-n/2):(l+=Math.min(s,Math.max(s-t,0)),e+=Math.min(i,Math.max(i-n,0))),new Blockly.utils.Coordinate(l,e)},Blockly.utils.userAgent={},function(t){function e(t){return-1!=o.indexOf(t.toUpperCase())}Blockly.utils.userAgent.raw=t;var o=Blockly.utils.userAgent.raw.toUpperCase();Blockly.utils.userAgent.IE=e("Trident")||e("MSIE"),Blockly.utils.userAgent.EDGE=e("Edge"),Blockly.utils.userAgent.EDGE_OR_IE=Blockly.utils.userAgent.EDGE||Blockly.utils.userAgent.IE,Blockly.utils.userAgent.JAVA_FX=e("JavaFX"),Blockly.utils.userAgent.CHROME=(e("Chrome")||e("CriOS"))&&!Blockly.utils.userAgent.EDGE,Blockly.utils.userAgent.WEBKIT=e("WebKit")&&!Blockly.utils.userAgent.EDGE,Blockly.utils.userAgent.GECKO=e("Gecko")&&!Blockly.utils.userAgent.WEBKIT&&!Blockly.utils.userAgent.IE&&!Blockly.utils.userAgent.EDGE,Blockly.utils.userAgent.ANDROID=e("Android"),t=Blockly.utils.global.navigator&&Blockly.utils.global.navigator.maxTouchPoints,Blockly.utils.userAgent.IPAD=e("iPad")||e("Macintosh")&&0<t,Blockly.utils.userAgent.IPOD=e("iPod"),Blockly.utils.userAgent.IPHONE=e("iPhone")&&!Blockly.utils.userAgent.IPAD&&!Blockly.utils.userAgent.IPOD,Blockly.utils.userAgent.MAC=e("Macintosh"),Blockly.utils.userAgent.TABLET=Blockly.utils.userAgent.IPAD||Blockly.utils.userAgent.ANDROID&&!e("Mobile")||e("Silk"),Blockly.utils.userAgent.MOBILE=!Blockly.utils.userAgent.TABLET&&(Blockly.utils.userAgent.IPOD||Blockly.utils.userAgent.IPHONE||Blockly.utils.userAgent.ANDROID||e("IEMobile"))}(Blockly.utils.global.navigator&&Blockly.utils.global.navigator.userAgent||""),Blockly.utils.noEvent=function(t){t.preventDefault(),t.stopPropagation()},Blockly.utils.isTargetInput=function(t){return"textarea"==t.target.type||"text"==t.target.type||"number"==t.target.type||"email"==t.target.type||"password"==t.target.type||"search"==t.target.type||"tel"==t.target.type||"url"==t.target.type||t.target.isContentEditable||t.target.dataset&&"true"==t.target.dataset.isTextInput},Blockly.utils.getRelativeXY=function(t){var e=new Blockly.utils.Coordinate(0,0),o=t.getAttribute("x");return o&&(e.x=parseInt(o,10)),(o=t.getAttribute("y"))&&(e.y=parseInt(o,10)),(o=(o=t.getAttribute("transform"))&&o.match(Blockly.utils.getRelativeXY.XY_REGEX_))&&(e.x+=Number(o[1]),o[3]&&(e.y+=Number(o[3]))),(t=t.getAttribute("style"))&&-1<t.indexOf("translate")&&(t=t.match(Blockly.utils.getRelativeXY.XY_STYLE_REGEX_))&&(e.x+=Number(t[1]),t[3]&&(e.y+=Number(t[3]))),e},Blockly.utils.getInjectionDivXY_=function(t){for(var e=0,o=0;t;){var i=Blockly.utils.getRelativeXY(t);if(e+=i.x,o+=i.y,-1!=(" "+(t.getAttribute("class")||"")+" ").indexOf(" injectionDiv "))break;t=t.parentNode}return new Blockly.utils.Coordinate(e,o)},Blockly.utils.getRelativeXY.XY_REGEX_=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/,Blockly.utils.getRelativeXY.XY_STYLE_REGEX_=/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/,Blockly.utils.isRightButton=function(t){return!(!t.ctrlKey||!Blockly.utils.userAgent.MAC)||2==t.button},Blockly.utils.mouseToSvg=function(t,e,o){var i=e.createSVGPoint();return i.x=t.clientX,i.y=t.clientY,o||(o=e.getScreenCTM().inverse()),i.matrixTransform(o)},Blockly.utils.getScrollDeltaPixels=function(t){switch(t.deltaMode){default:return{x:t.deltaX,y:t.deltaY};case 1:return{x:t.deltaX*Blockly.LINE_MODE_MULTIPLIER,y:t.deltaY*Blockly.LINE_MODE_MULTIPLIER};case 2:return{x:t.deltaX*Blockly.PAGE_MODE_MULTIPLIER,y:t.deltaY*Blockly.PAGE_MODE_MULTIPLIER}}},Blockly.utils.tokenizeInterpolation=function(t){return Blockly.utils.tokenizeInterpolation_(t,!0)},Blockly.utils.replaceMessageReferences=function(t){return"string"!=typeof t?t:(t=Blockly.utils.tokenizeInterpolation_(t,!1)).length?String(t[0]):""},Blockly.utils.checkMessageReferences=function(t){var e=!0,o=Blockly.Msg;t=t.match(/%{BKY_[A-Z]\w*}/gi);for(var i=0;i<t.length;i++){null==o[t[i].toUpperCase().slice(6,-1)]&&(e=!1)}return e},Blockly.utils.tokenizeInterpolation_=function(t,e){var o=[],i=t.split("");i.push("");var n=0;t=[];for(var l=null,s=0;s<i.length;s++){var r=i[s];0==n?"%"==r?((r=t.join(""))&&o.push(r),t.length=0,n=1):t.push(r):1==n?"%"==r?(t.push(r),n=0):e&&"0"<=r&&"9">=r?(n=2,l=r,(r=t.join(""))&&o.push(r),t.length=0):"{"==r?n=3:(t.push("%",r),n=0):2==n?"0"<=r&&"9">=r?l+=r:(o.push(parseInt(l,10)),s--,n=0):3==n&&(""==r?(t.splice(0,0,"%{"),s--,n=0):"}"!=r?t.push(r):(n=t.join(""),/[A-Z]\w*/i.test(n)?(r=n.toUpperCase(),(r=Blockly.utils.string.startsWith(r,"BKY_")?r.substring(4):null)&&r in Blockly.Msg?"string"==typeof(n=Blockly.Msg[r])?Array.prototype.push.apply(o,Blockly.utils.tokenizeInterpolation_(n,e)):e?o.push(String(n)):o.push(n):o.push("%{"+n+"}")):o.push("%{"+n+"}"),n=t.length=0))}for((r=t.join(""))&&o.push(r),e=[],s=t.length=0;s<o.length;++s)"string"==typeof o[s]?t.push(o[s]):((r=t.join(""))&&e.push(r),t.length=0,e.push(o[s]));return(r=t.join(""))&&e.push(r),t.length=0,e},Blockly.utils.genUid=function(){for(var t=Blockly.utils.genUid.soup_.length,e=[],o=0;20>o;o++)e[o]=Blockly.utils.genUid.soup_.charAt(Math.random()*t);return e.join("")},Blockly.utils.genUid.soup_="!#$%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Blockly.utils.is3dSupported=function(){if(void 0!==Blockly.utils.is3dSupported.cached_)return Blockly.utils.is3dSupported.cached_;if(!Blockly.utils.global.getComputedStyle)return!1;var t=document.createElement("p"),e="none",o={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var i in document.body.insertBefore(t,null),o)if(void 0!==t.style[i]){if(t.style[i]="translate3d(1px,1px,1px)",!(e=Blockly.utils.global.getComputedStyle(t)))return document.body.removeChild(t),!1;e=e.getPropertyValue(o[i])}return document.body.removeChild(t),Blockly.utils.is3dSupported.cached_="none"!==e,Blockly.utils.is3dSupported.cached_},Blockly.utils.runAfterPageLoad=function(t){if("object"!=typeof document)throw Error("Blockly.utils.runAfterPageLoad() requires browser document.");if("complete"==document.readyState)t();else var e=setInterval((function(){"complete"==document.readyState&&(clearInterval(e),t())}),10)},Blockly.utils.getViewportBBox=function(){var t=Blockly.utils.style.getViewportPageOffset();return new Blockly.utils.Rect(t.y,document.documentElement.clientHeight+t.y,t.x,document.documentElement.clientWidth+t.x)},Blockly.utils.arrayRemove=function(t,e){return-1!=(e=t.indexOf(e))&&(t.splice(e,1),!0)},Blockly.utils.getDocumentScroll=function(){var t=document.documentElement,e=window;return Blockly.utils.userAgent.IE&&e.pageYOffset!=t.scrollTop?new Blockly.utils.Coordinate(t.scrollLeft,t.scrollTop):new Blockly.utils.Coordinate(e.pageXOffset||t.scrollLeft,e.pageYOffset||t.scrollTop)},Blockly.utils.getBlockTypeCounts=function(t,e){var o=Object.create(null),i=t.get