iobroker.javascript 10.0.0 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -6
- package/admin/assets/AiChatPanel-C4kuqP2U.js +237 -0
- package/admin/assets/AiDiffView-zJTEnv05.js +1 -0
- package/admin/assets/BlocklyEditor-BB77aFJI.js +84 -0
- package/admin/assets/ContextWrapper-C2yvd2Tn.css +1 -0
- package/admin/assets/ContextWrapper-W2H0z6zD.js +136 -0
- package/admin/assets/Debugger-DCMWjeGm.js +15 -0
- package/admin/assets/Error-CBC2oZzb.js +1 -0
- package/admin/assets/Import-B-F9IhZ-.js +1 -0
- package/admin/assets/RulesEditor-ByjgEaVo.js +1 -0
- package/admin/assets/RulesEditor-k-DMHotH.css +1 -0
- package/admin/assets/{ScriptEditor-BGIuoNei.js → ScriptEditor-CMYUt5S4.js} +2 -2
- package/admin/assets/{ScriptEditorVanillaMonaco-DyMQtoTQ.js → ScriptEditorVanillaMonaco-v12-gORS.js} +3 -3
- package/admin/assets/Send-CChqR5Oy.js +1 -0
- package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-7EPUlgCk.js +1 -0
- package/admin/assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DuplUOZN.js +1243 -0
- package/admin/assets/{_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BBAXJaqI.js → _virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-JkwfVf8d.js} +1 -1
- package/admin/assets/{aiCodeLensProvider-hyAmut0e.js → aiCodeLensProvider-BGvIu6hH.js} +1 -1
- package/admin/assets/blockly-C4zJerWL.js +1047 -0
- package/admin/assets/blocks_action-CvnOHXwt.js +1 -0
- package/admin/assets/blocks_convert-BZlKcd02.js +3 -0
- package/admin/assets/blocks_logic-B33Pypxr.js +1 -0
- package/admin/assets/blocks_number-k2IjE7OH.js +1 -0
- package/admin/assets/blocks_object-B64vSfel.js +1 -0
- package/admin/assets/blocks_procedures-BpvNI5dO.js +3 -0
- package/admin/assets/blocks_sendto-pwZchfe0.js +5 -0
- package/admin/assets/blocks_switch-DViYCmQd.js +2 -0
- package/admin/assets/blocks_system-BZZcGqTJ.js +1 -0
- package/admin/assets/blocks_text-BOvtHN2r.js +1 -0
- package/admin/assets/blocks_time-BH2F-ylT.js +1 -0
- package/admin/assets/blocks_timeout-C3BoW4XJ.js +1 -0
- package/admin/assets/blocks_trigger-gwXvuAHV.js +2 -0
- package/admin/assets/blocks_words-D8PL_nSE.js +1 -0
- package/admin/assets/{cronHoverProvider-pKJkSevo.js → cronHoverProvider-DjY3jLvQ.js} +1 -1
- package/admin/assets/dist-D6o4h8Pd.js +4 -0
- package/admin/assets/field_cron-BMQWPb61.js +1 -0
- package/admin/assets/field_oid-BGIMv9gw.js +1 -0
- package/admin/assets/field_script-CdzYBCe6.js +1 -0
- package/admin/assets/helpers-Crmcgphg.js +1 -0
- package/admin/assets/hostInit-DBlZi_Kt.js +1 -0
- package/admin/assets/index-BvPVHv3P.js +192 -0
- package/admin/assets/{inlineChatWidget-ZaisTOLh.js → inlineChatWidget-SDoyVtOR.js} +2 -2
- package/admin/assets/{inlineDiffController-hTwHHqcc.js → inlineDiffController-CnHE3Rwd.js} +2 -2
- package/admin/assets/javascript-DVIhlTDr.js +218 -0
- package/admin/assets/{mf-entry-bootstrap-0-d6052b31.js → mf-entry-bootstrap-0-a03ecebd.js} +6 -2
- package/admin/assets/{mjs-DWqivHEk.js → mjs-Bh7xFIpd.js} +2 -2
- package/admin/assets/{stateHoverProvider-C7DawIs-.js → stateHoverProvider-D0iXo6YF.js} +3 -3
- package/admin/assets/{virtualExposes-Ed0lGq7k.js → virtualExposes-DgGB-18P.js} +1 -1
- package/admin/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__iobroker_javascript__remoteEntry_js-DYEYnOkt.js +1 -0
- package/admin/assets/virtual_mf-exposes___mfe_internal__iobroker_javascript__remoteEntry_js-ChiJXsfH.js +1 -0
- package/admin/custom/assets/Components-CuFt9lAY.js +1 -0
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-DljJyQQg.js +1 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-D0M1SjIE.js +1 -0
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CGb5Cofy.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-BD2OkSge.js} +1 -1
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BVCIAgbo.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-pM642JFd.js} +91 -91
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-BkB0anQX.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-BLelmJ7Y.js} +74 -74
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BotqDuw-.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BGiB1l5e.js} +1 -1
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__prebuild__date_mf_2_fns__prebuild__-Cb5TR7FB.js → _virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__prebuild__date_mf_2_fns__prebuild__-D5hqXJXI.js} +1 -1
- package/admin/custom/assets/hostInit-0DGPuZTB.js +1 -0
- package/admin/custom/assets/{index-uEKAoVT7.js → index-DcFI5r-g.js} +1 -1
- package/admin/custom/assets/{lib-Yj8cfN0A.js → lib-BlUjuGH7.js} +1 -1
- package/admin/custom/assets/{mf-entry-bootstrap-0-77793feb.js → mf-entry-bootstrap-0-efd847a6.js} +6 -2
- package/admin/custom/assets/{setYear-DJ9FbdkO.js → setYear-BaCcPbbI.js} +1 -1
- package/admin/custom/assets/virtualExposes-DGxNcyb6.js +1 -0
- package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-DVNwFcUr.js +1 -0
- package/admin/custom/assets/virtual_mf-exposes___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-DPck7zEs.js +2 -0
- package/admin/custom/customComponents.js +1 -1
- package/admin/google-blockly/VERSION +1 -0
- package/admin/google-blockly/media/drop.mp3 +0 -0
- package/admin/google-blockly/msg/js/de.js +332 -56
- package/admin/google-blockly/msg/js/en.js +319 -43
- package/admin/google-blockly/msg/js/es.js +319 -42
- package/admin/google-blockly/msg/js/fr.js +315 -39
- package/admin/google-blockly/msg/js/it.js +327 -51
- package/admin/google-blockly/msg/js/nl.js +376 -100
- package/admin/google-blockly/msg/js/pl.js +318 -42
- package/admin/google-blockly/msg/js/pt.js +318 -42
- package/admin/google-blockly/msg/js/ru.js +320 -44
- package/admin/google-blockly/msg/js/uk.js +326 -50
- package/admin/google-blockly/msg/js/zh-cn.js +322 -46
- package/admin/i18n/de.json +48 -26
- package/admin/i18n/en.json +47 -25
- package/admin/i18n/es.json +48 -18
- package/admin/i18n/fr.json +47 -17
- package/admin/i18n/it.json +47 -17
- package/admin/i18n/nl.json +47 -17
- package/admin/i18n/pl.json +48 -18
- package/admin/i18n/pt.json +47 -17
- package/admin/i18n/ru.json +47 -17
- package/admin/i18n/uk.json +47 -17
- package/admin/i18n/zh-cn.json +47 -17
- package/admin/jsonConfig.json +367 -0
- package/admin/mf-manifest.json +1 -1
- package/admin/mf-stats.json +1 -1
- package/admin/remoteEntry.js +1 -1
- package/admin/tab.html +12 -95
- package/build/lib/mirror.js +9 -0
- package/build/lib/mirror.js.map +1 -1
- package/build/lib/sandbox.js +35 -0
- package/build/lib/sandbox.js.map +1 -1
- package/build/lib/typescriptSettings.js +112 -2
- package/build/lib/typescriptSettings.js.map +1 -1
- package/build/lib/typescriptTools.js +168 -43
- package/build/lib/typescriptTools.js.map +1 -1
- package/build/main.js +10 -5
- package/build/main.js.map +1 -1
- package/build/types.d.ts +41 -0
- package/docs/en/javascript.md +16 -0
- package/docs/en/upgrade-guide.md +3 -0
- package/io-package.json +45 -15
- package/package.json +8 -3
- package/admin/assets/AiChatPanel-p0KAg6Cs.js +0 -237
- package/admin/assets/AiDiffView-BPTLnNx1.js +0 -1
- package/admin/assets/BlocklyEditor-CAjVMhYT.js +0 -81
- package/admin/assets/ContextWrapper-BVc8wTK_.css +0 -1
- package/admin/assets/ContextWrapper-D9CrnNKs.js +0 -127
- package/admin/assets/Debugger-SjROokFI.js +0 -15
- package/admin/assets/Error-DDfrxAt2.js +0 -1
- package/admin/assets/Import-DpTg1Jow.js +0 -1
- package/admin/assets/RulesEditor-BSRFWpEm.css +0 -1
- package/admin/assets/RulesEditor-D0hgrcBc.js +0 -1
- package/admin/assets/_virtual_mf-localSharedImportMap___mfe_internal__iobroker_javascript__mf_owner__1-DWJotR1B.js +0 -1
- package/admin/assets/_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-CxICLr5Z.js +0 -1243
- package/admin/assets/dist-uw5orDgd.js +0 -4
- package/admin/assets/hostInit-BFg5u9hY.js +0 -1
- package/admin/assets/index-B1gICjdq.js +0 -192
- package/admin/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__iobroker_javascript__remoteEntry_js-BYs71IQF.js +0 -1
- package/admin/assets/virtual_mf-exposes___mfe_internal__iobroker_javascript__remoteEntry_js-DnnXQRkG.js +0 -1
- package/admin/custom/assets/Components-BrDyDHXh.js +0 -1
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1-CyYJM2-v.js +0 -1
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomJavascriptSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BdzCssLn.js +0 -1
- package/admin/custom/assets/hostInit-DJx2uXXy.js +0 -1
- package/admin/custom/assets/virtualExposes-CxDjLoYu.js +0 -1
- package/admin/custom/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-BU-ugy_7.js +0 -1
- package/admin/custom/assets/virtual_mf-exposes-ssr___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-BEfZbrf7.js +0 -2
- package/admin/custom/assets/virtual_mf-exposes___mfe_internal__ConfigCustomJavascriptSet__customComponents_js-CTeZ0Jpm.js +0 -2
- package/admin/google-blockly/blockly_compressed.js +0 -1679
- package/admin/google-blockly/blocks_compressed.js +0 -193
- package/admin/google-blockly/javascript_compressed.js +0 -264
- package/admin/google-blockly/msg/messages.js +0 -1630
- package/admin/google-blockly/own/blocks_action.js +0 -765
- package/admin/google-blockly/own/blocks_convert.js +0 -480
- package/admin/google-blockly/own/blocks_logic.js +0 -459
- package/admin/google-blockly/own/blocks_number.js +0 -30
- package/admin/google-blockly/own/blocks_object.js +0 -402
- package/admin/google-blockly/own/blocks_procedures.js +0 -688
- package/admin/google-blockly/own/blocks_sendto.js +0 -702
- package/admin/google-blockly/own/blocks_switch.js +0 -257
- package/admin/google-blockly/own/blocks_system.js +0 -1409
- package/admin/google-blockly/own/blocks_text.js +0 -104
- package/admin/google-blockly/own/blocks_time.js +0 -639
- package/admin/google-blockly/own/blocks_timeout.js +0 -551
- package/admin/google-blockly/own/blocks_trigger.js +0 -1791
- package/admin/google-blockly/own/blocks_words.js +0 -708
- package/admin/google-blockly/own/field_cron.js +0 -158
- package/admin/google-blockly/own/field_oid.js +0 -642
- package/admin/google-blockly/own/field_script.js +0 -159
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./blocks_action-CvnOHXwt.js","./blockly-C4zJerWL.js","./rolldown-runtime-C0FnF6B9.js","./javascript-DVIhlTDr.js","./helpers-Crmcgphg.js","./blocks_convert-BZlKcd02.js","./blocks_logic-B33Pypxr.js","./blocks_number-k2IjE7OH.js","./blocks_procedures-BpvNI5dO.js","./field_script-CdzYBCe6.js","./blocks_sendto-pwZchfe0.js","./blocks_system-BZZcGqTJ.js","./field_oid-BGIMv9gw.js","./field_cron-BMQWPb61.js","./blocks_object-B64vSfel.js","./blocks_switch-DViYCmQd.js","./blocks_text-BOvtHN2r.js","./blocks_time-BH2F-ylT.js","./blocks_trigger-gwXvuAHV.js","./blocks_timeout-C3BoW4XJ.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e,r as t,t as n}from"./rolldown-runtime-C0FnF6B9.js";import{t as r}from"./vite-preload-helper-B7qeedMF.js";import{$t as i,Cr as a,Ht as o,In as s,It as c,Jn as l,St as u,en as d,f,o as p,qn as m,rn as h,tn as g,tr as _,xt as v}from"./_virtual_mf___mfe_internal__iobroker_javascript__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DuplUOZN.js";import{n as y,t as b}from"./Import-B-F9IhZ-.js";import{t as x}from"./Error-CBC2oZzb.js";import{d as S,g as C,m as w}from"./blockly-C4zJerWL.js";import{n as T}from"./javascript-DVIhlTDr.js";import{t as E}from"./blocklyDarkTheme-DEiAX5DT.js";var D=n(((e,t)=>{(function(n,r){typeof e==`object`?t.exports=r(C()):n.Blockly.libraryBlocks=r(n.Blockly)})(e,function(e){var t=e.__namespace__,n=function(e){return function(){var n=e.workspace,r=e.getField(`VAR`).getVariable();t.Rd(n,r)}},r=function(e){return function(){var n=e.getField(`VAR`).getVariable();n&&t.$d(n.getWorkspace(),n,e)}},i=function(e){return function(){var n=e.workspace,r=e.getField(`VAR`).getVariable();t.Rd(n,r)}},a=function(e){return function(){var n=e.getField(`VAR`).getVariable();n&&t.$d(n.getWorkspace(),n,e)}},o=t.yb([{type:`variables_get_dynamic`,message0:`%1`,args0:[{type:`field_variable`,name:`VAR`,variable:`%{BKY_VARIABLES_DEFAULT_NAME}`}],output:null,style:`variable_dynamic_blocks`,helpUrl:`%{BKY_VARIABLES_GET_HELPURL}`,tooltip:`%{BKY_VARIABLES_GET_TOOLTIP}`,extensions:[`contextMenu_variableDynamicSetterGetter`]},{type:`variables_set_dynamic`,message0:`%{BKY_VARIABLES_SET}`,args0:[{type:`field_variable`,name:`VAR`,variable:`%{BKY_VARIABLES_DEFAULT_NAME}`},{type:`input_value`,name:`VALUE`}],previousStatement:null,nextStatement:null,style:`variable_dynamic_blocks`,tooltip:`%{BKY_VARIABLES_SET_TOOLTIP}`,helpUrl:`%{BKY_VARIABLES_SET_HELPURL}`,extensions:[`contextMenu_variableDynamicSetterGetter`]}]);t.ph(`contextMenu_variableDynamicSetterGetter`,{customContextMenu:function(e){if(this.isInFlyout)(this.type===`variables_get_dynamic`||this.type===`variables_get_reporter_dynamic`)&&(o=this.getField(`VAR`).getText(),a={text:t.C.RENAME_VARIABLE.replace(`%1`,o),enabled:!0,callback:n(this)},o={text:t.C.DELETE_VARIABLE.replace(`%1`,o),enabled:!0,callback:r(this)},e.unshift(a),e.unshift(o));else{if(this.type===`variables_get_dynamic`)var i=`variables_set_dynamic`,a=t.C.VARIABLES_GET_CREATE_SET;else i=`variables_get_dynamic`,a=t.C.VARIABLES_SET_CREATE_GET;var o=this.getField(`VAR`);i={type:i,fields:{VAR:o.saveState(!0)}},e.push({enabled:this.workspace.remainingCapacity()>0,text:a.replace(`%1`,o.getText()),callback:t.Pg(this,i)})}},onchange:function(){var e=this.getFieldValue(`VAR`);e=t.Vd(this.workspace,e),this.type===`variables_get_dynamic`?this.outputConnection.setCheck(e.getType()):this.getInput(`VALUE`).connection.setCheck(e.getType())}}),t.Ab(o);var s={blocks:o},c=t.yb([{type:`variables_get`,message0:`%1`,args0:[{type:`field_variable`,name:`VAR`,variable:`%{BKY_VARIABLES_DEFAULT_NAME}`}],output:null,style:`variable_blocks`,helpUrl:`%{BKY_VARIABLES_GET_HELPURL}`,tooltip:`%{BKY_VARIABLES_GET_TOOLTIP}`,extensions:[`contextMenu_variableSetterGetter`]},{type:`variables_set`,message0:`%{BKY_VARIABLES_SET}`,args0:[{type:`field_variable`,name:`VAR`,variable:`%{BKY_VARIABLES_DEFAULT_NAME}`},{type:`input_value`,name:`VALUE`,ariaLabelText:`%{BKY_INPUT_LABEL_VARIABLES_SET}`}],previousStatement:null,nextStatement:null,style:`variable_blocks`,tooltip:`%{BKY_VARIABLES_SET_TOOLTIP}`,helpUrl:`%{BKY_VARIABLES_SET_HELPURL}`,extensions:[`contextMenu_variableSetterGetter`]}]);t.ph(`contextMenu_variableSetterGetter`,{customContextMenu:function(e){if(this.isInFlyout)(this.type===`variables_get`||this.type===`variables_get_reporter`)&&(o=this.getField(`VAR`).getText(),r={text:t.C.RENAME_VARIABLE.replace(`%1`,o),enabled:!0,callback:i(this)},o={text:t.C.DELETE_VARIABLE.replace(`%1`,o),enabled:!0,callback:a(this)},e.unshift(r),e.unshift(o));else{if(this.type===`variables_get`)var n=`variables_set`,r=t.C.VARIABLES_GET_CREATE_SET;else n=`variables_get`,r=t.C.VARIABLES_SET_CREATE_GET;var o=this.getField(`VAR`);n={type:n,fields:{VAR:o.saveState(!0)}},e.push({enabled:this.workspace.remainingCapacity()>0,text:r.replace(`%1`,o.getText()),callback:t.Pg(this,n)})}}}),t.Ab(c);var l={blocks:c},u=t.yb([{type:`text`,message0:`%1`,args0:[{type:`field_input`,name:`TEXT`,text:``}],output:`String`,style:`text_blocks`,helpUrl:`%{BKY_TEXT_TEXT_HELPURL}`,tooltip:`%{BKY_TEXT_TEXT_TOOLTIP}`,extensions:[`text_quotes`,`parent_tooltip_when_inline`]},{type:`text_join`,message0:``,output:`String`,style:`text_blocks`,helpUrl:`%{BKY_TEXT_JOIN_HELPURL}`,tooltip:`%{BKY_TEXT_JOIN_TOOLTIP}`,mutator:`text_join_mutator`},{type:`text_create_join_container`,message0:`%{BKY_TEXT_CREATE_JOIN_TITLE_JOIN} %1 %2`,args0:[{type:`input_dummy`},{type:`input_statement`,name:`STACK`}],style:`text_blocks`,tooltip:`%{BKY_TEXT_CREATE_JOIN_TOOLTIP}`,enableContextMenu:!1},{type:`text_create_join_item`,message0:`%{BKY_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM}`,previousStatement:null,nextStatement:null,style:`text_blocks`,tooltip:`%{BKY_TEXT_CREATE_JOIN_ITEM_TOOLTIP}`,enableContextMenu:!1},{type:`text_append`,message0:`%{BKY_TEXT_APPEND_TITLE}`,args0:[{type:`field_variable`,name:`VAR`,variable:`%{BKY_TEXT_APPEND_VARIABLE}`},{type:`input_value`,name:`TEXT`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_APPEND}`}],previousStatement:null,nextStatement:null,style:`text_blocks`,extensions:[`text_append_tooltip`]},{type:`text_length`,message0:`%{BKY_TEXT_LENGTH_TITLE}`,args0:[{type:`input_value`,name:`VALUE`,check:[`String`,`Array`],ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_CHECK}`}],output:`Number`,style:`text_blocks`,tooltip:`%{BKY_TEXT_LENGTH_TOOLTIP}`,helpUrl:`%{BKY_TEXT_LENGTH_HELPURL}`},{type:`text_isEmpty`,message0:`%{BKY_TEXT_ISEMPTY_TITLE}`,args0:[{type:`input_value`,name:`VALUE`,check:[`String`,`Array`],ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_CHECK}`}],output:`Boolean`,style:`text_blocks`,tooltip:`%{BKY_TEXT_ISEMPTY_TOOLTIP}`,helpUrl:`%{BKY_TEXT_ISEMPTY_HELPURL}`},{type:`text_indexOf`,message0:`%{BKY_TEXT_INDEXOF_TITLE}`,args0:[{type:`input_value`,name:`VALUE`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_CHECK}`},{type:`field_dropdown`,name:`END`,options:[[`%{BKY_TEXT_INDEXOF_OPERATOR_FIRST}`,`FIRST`],[`%{BKY_TEXT_INDEXOF_OPERATOR_LAST}`,`LAST`]]},{type:`input_value`,name:`FIND`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_FIND}`}],output:`Number`,style:`text_blocks`,helpUrl:`%{BKY_TEXT_INDEXOF_HELPURL}`,inputsInline:!0,extensions:[`text_indexOf_tooltip`]},{type:`text_charAt`,message0:`%{BKY_TEXT_CHARAT_TITLE}`,args0:[{type:`input_value`,name:`VALUE`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_CHECK}`},{type:`field_dropdown`,name:`WHERE`,options:[[`%{BKY_TEXT_CHARAT_FROM_START}`,`FROM_START`,`%{BKY_TEXT_FROM_START_ARIA}`],[`%{BKY_TEXT_CHARAT_FROM_END}`,`FROM_END`,`%{BKY_TEXT_FROM_END_ARIA}`],[`%{BKY_TEXT_CHARAT_FIRST}`,`FIRST`],[`%{BKY_TEXT_CHARAT_LAST}`,`LAST`],[`%{BKY_TEXT_CHARAT_RANDOM}`,`RANDOM`]]}],output:`String`,style:`text_blocks`,helpUrl:`%{BKY_TEXT_CHARAT_HELPURL}`,inputsInline:!0,mutator:`text_charAt_mutator`}]);u.text_getSubstring={init:function(){this.WHERE_OPTIONS_1=[[t.C.TEXT_GET_SUBSTRING_START_FROM_START,`FROM_START`,t.C.TEXT_FROM_START_ARIA],[t.C.TEXT_GET_SUBSTRING_START_FROM_END,`FROM_END`,t.C.TEXT_FROM_END_ARIA],[t.C.TEXT_GET_SUBSTRING_START_FIRST,`FIRST`]],this.WHERE_OPTIONS_2=[[t.C.TEXT_GET_SUBSTRING_END_FROM_START,`FROM_START`,t.C.TEXT_FROM_START_ARIA],[t.C.TEXT_GET_SUBSTRING_END_FROM_END,`FROM_END`,t.C.TEXT_FROM_END_ARIA],[t.C.TEXT_GET_SUBSTRING_END_LAST,`LAST`]],this.setHelpUrl(t.C.TEXT_GET_SUBSTRING_HELPURL),this.setStyle(`text_blocks`),this.appendValueInput(`STRING`).setCheck(`String`).appendField(t.C.TEXT_GET_SUBSTRING_INPUT_IN_TEXT).setAriaLabelProvider(t.C.INPUT_LABEL_TEXT_TO_CHECK);var e=e=>{var n=t.lh({type:`field_dropdown`,options:this[`WHERE_OPTIONS_`+e]});return n.setValidator(function(t){var n=this.getValue();t=t===`FROM_START`||t===`FROM_END`,t!==(n===`FROM_START`||n===`FROM_END`)&&this.getSourceBlock().updateAt_(e,t)}),n};this.appendDummyInput(`WHERE1_INPUT`).appendField(e(1),`WHERE1`),this.appendDummyInput(`AT1`),this.appendDummyInput(`WHERE2_INPUT`).appendField(e(2),`WHERE2`),this.appendDummyInput(`AT2`),t.C.TEXT_GET_SUBSTRING_TAIL&&this.appendDummyInput(`TAIL`).appendField(t.C.TEXT_GET_SUBSTRING_TAIL),this.setInputsInline(!0),this.setOutput(!0,`String`),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(t.C.TEXT_GET_SUBSTRING_TOOLTIP)},mutationToDom:function(){var e=t.rc(`mutation`),n=this.getInput(`AT1`)instanceof t.Nn;return e.setAttribute(`at1`,`${n}`),n=this.getInput(`AT2`)instanceof t.Nn,e.setAttribute(`at2`,`${n}`),e},domToMutation:function(e){var t=e.getAttribute(`at1`)===`true`;e=e.getAttribute(`at2`)===`true`,this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(e,n){this.removeInput(`AT`+e),this.removeInput(`ORDINAL`+e,!0),n?(this.appendValueInput(`AT`+e).setCheck(`Number`).setAriaLabelProvider(e===1?t.C.INPUT_LABEL_TEXT_START_POSITION:t.C.INPUT_LABEL_TEXT_END_POSITION),t.C.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(`ORDINAL`+e).appendField(t.C.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(`AT`+e),e===2&&t.C.TEXT_GET_SUBSTRING_TAIL&&(this.removeInput(`TAIL`,!0),this.appendDummyInput(`TAIL`).appendField(t.C.TEXT_GET_SUBSTRING_TAIL)),e===1&&(this.moveInputBefore(`AT1`,`WHERE2_INPUT`),this.getInput(`ORDINAL1`)&&this.moveInputBefore(`ORDINAL1`,`WHERE2_INPUT`))}},u.text_changeCase={init:function(){var e=[[t.C.TEXT_CHANGECASE_OPERATOR_UPPERCASE,`UPPERCASE`],[t.C.TEXT_CHANGECASE_OPERATOR_LOWERCASE,`LOWERCASE`],[t.C.TEXT_CHANGECASE_OPERATOR_TITLECASE,`TITLECASE`]];this.setHelpUrl(t.C.TEXT_CHANGECASE_HELPURL),this.setStyle(`text_blocks`),this.appendValueInput(`TEXT`).setCheck(`String`).appendField(t.lh({type:`field_dropdown`,options:e}),`CASE`).setAriaLabelProvider(t.C.INPUT_LABEL_TEXT_TO_CHANGE),this.setOutput(!0,`String`),this.setTooltip(t.C.TEXT_CHANGECASE_TOOLTIP)}},u.text_trim={init:function(){var e=[[t.C.TEXT_TRIM_OPERATOR_BOTH,`BOTH`],[t.C.TEXT_TRIM_OPERATOR_LEFT,`LEFT`],[t.C.TEXT_TRIM_OPERATOR_RIGHT,`RIGHT`]];this.setHelpUrl(t.C.TEXT_TRIM_HELPURL),this.setStyle(`text_blocks`),this.appendValueInput(`TEXT`).setCheck(`String`).appendField(t.lh({type:`field_dropdown`,options:e}),`MODE`).setAriaLabelProvider(t.C.INPUT_LABEL_TEXT_TO_CHANGE),this.setOutput(!0,`String`),this.setTooltip(t.C.TEXT_TRIM_TOOLTIP)}},u.text_print={init:function(){this.jsonInit({message0:t.C.TEXT_PRINT_TITLE,args0:[{type:`input_value`,name:`TEXT`}],previousStatement:null,nextStatement:null,style:`text_blocks`,tooltip:t.C.TEXT_PRINT_TOOLTIP,helpUrl:t.C.TEXT_PRINT_HELPURL})}};var d={updateType_:function(e){this.outputConnection.setCheck(e===`NUMBER`?`Number`:`String`)},mutationToDom:function(){var e=t.rc(`mutation`);return e.setAttribute(`type`,this.getFieldValue(`TYPE`)),e},domToMutation:function(e){this.updateType_(e.getAttribute(`type`))}};u.text_prompt_ext=Object.assign({},d,{init:function(){var e=[[t.C.TEXT_PROMPT_TYPE_TEXT,`TEXT`],[t.C.TEXT_PROMPT_TYPE_NUMBER,`NUMBER`]];this.setHelpUrl(t.C.TEXT_PROMPT_HELPURL),this.setStyle(`text_blocks`),e=t.lh({type:`field_dropdown`,options:e}),e.setValidator(e=>{this.updateType_(e)}),this.appendValueInput(`TEXT`).appendField(e,`TYPE`).setAriaLabelProvider(t.C.INPUT_LABEL_TEXT_PROMPT_MESSAGE),this.setOutput(!0,`String`),this.setTooltip(()=>this.getFieldValue(`TYPE`)===`TEXT`?t.C.TEXT_PROMPT_TOOLTIP_TEXT:t.C.TEXT_PROMPT_TOOLTIP_NUMBER)}}),u.text_prompt=Object.assign({},d,{init:function(){this.mixin(f);var e=[[t.C.TEXT_PROMPT_TYPE_TEXT,`TEXT`],[t.C.TEXT_PROMPT_TYPE_NUMBER,`NUMBER`]];this.setHelpUrl(t.C.TEXT_PROMPT_HELPURL),this.setStyle(`text_blocks`),e=t.lh({type:`field_dropdown`,options:e}),e.setValidator(e=>{this.updateType_(e)}),this.appendDummyInput().appendField(e,`TYPE`).appendField(this.newQuote_(!0)).appendField(t.lh({type:`field_input`,text:``}),`TEXT`).appendField(this.newQuote_(!1)),this.setOutput(!0,`String`),this.setTooltip(()=>this.getFieldValue(`TYPE`)===`TEXT`?t.C.TEXT_PROMPT_TOOLTIP_TEXT:t.C.TEXT_PROMPT_TOOLTIP_NUMBER)}}),u.text_count={init:function(){this.jsonInit({message0:t.C.TEXT_COUNT_MESSAGE0,args0:[{type:`input_value`,name:`SUB`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_FIND}`},{type:`input_value`,name:`TEXT`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_CHECK}`}],output:`Number`,inputsInline:!0,style:`text_blocks`,tooltip:t.C.TEXT_COUNT_TOOLTIP,helpUrl:t.C.TEXT_COUNT_HELPURL})}},u.text_replace={init:function(){this.jsonInit({message0:t.C.TEXT_REPLACE_MESSAGE0,args0:[{type:`input_value`,name:`FROM`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_FIND}`},{type:`input_value`,name:`TO`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_REPLACE}`},{type:`input_value`,name:`TEXT`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_CHECK}`}],output:`String`,inputsInline:!0,style:`text_blocks`,tooltip:t.C.TEXT_REPLACE_TOOLTIP,helpUrl:t.C.TEXT_REPLACE_HELPURL})}},u.text_reverse={init:function(){this.jsonInit({message0:t.C.TEXT_REVERSE_MESSAGE0,args0:[{type:`input_value`,name:`TEXT`,check:`String`,ariaLabelText:`%{BKY_INPUT_LABEL_TEXT_TO_CHANGE}`}],output:`String`,inputsInline:!0,style:`text_blocks`,tooltip:t.C.TEXT_REVERSE_TOOLTIP,helpUrl:t.C.TEXT_REVERSE_HELPURL})}};var f={QUOTE_IMAGE_LEFT_DATAURI:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC`,QUOTE_IMAGE_RIGHT_DATAURI:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==`,QUOTE_IMAGE_WIDTH:12,QUOTE_IMAGE_HEIGHT:12,quoteField_:function(e){for(let t=0,n;n=this.inputList[t];t++)for(let t=0,r;r=n.fieldRow[t];t++)if(e===r.name){n.insertFieldAt(t,this.newQuote_(!0)),n.insertFieldAt(t+2,this.newQuote_(!1));return}console.warn(`field named "`+e+`" not found in `+this.toDevString())},newQuote_:function(e){return e=this.RTL?!e:e,t.lh({type:`field_image`,src:e?this.QUOTE_IMAGE_LEFT_DATAURI:this.QUOTE_IMAGE_RIGHT_DATAURI,width:this.QUOTE_IMAGE_WIDTH,height:this.QUOTE_IMAGE_HEIGHT,alt:e?`“`:`”`})}};t.oh(`text_append_tooltip`,t.Ah(`%{BKY_TEXT_APPEND_TOOLTIP}`,`VAR`)),t.oh(`text_indexOf_tooltip`,function(){this.setTooltip(()=>t.C.TEXT_INDEXOF_TOOLTIP.replace(`%1`,this.workspace.options.oneBasedIndex?`0`:`-1`))}),t.oh(`text_quotes`,function(){this.mixin(f),this.quoteField_(`TEXT`)}),t.ph(`quote_image_mixin`,f),t.th(`text_join_mutator`,{itemCount_:0,mutationToDom:function(){var e=t.rc(`mutation`);return e.setAttribute(`items`,`${this.itemCount_}`),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute(`items`),10),this.updateShape_()},saveExtraState:function(){return{itemCount:this.itemCount_}},loadExtraState:function(e){this.itemCount_=e.itemCount,this.updateShape_()},decompose:function(e){var t=e.newBlock(`text_create_join_container`);t.initSvg();var n,r=(n=t.getInput(`STACK`))==null?void 0:n.connection;for(n=0;n<this.itemCount_;n++){let t=e.newBlock(`text_create_join_item`);if(t.initSvg(),t.previousConnection){let e;(e=r)==null||e.connect(t.previousConnection)}r=t.nextConnection}return t},compose:function(e){var t=e.getInputTargetBlock(`STACK`);for(e=[];t;)t.isInsertionMarker()||e.push(t.valueConnection_),t=t.getNextBlock();for(t=0;t<this.itemCount_;t++){let n=this.getInput(`ADD`+t).connection.targetConnection;n&&!e.includes(n)&&n.disconnect()}for(this.itemCount_=e.length,this.updateShape_(),t=0;t<this.itemCount_;t++){let n;(n=e[t])==null||n.reconnect(this,`ADD`+t)}},saveConnections:function(e){e=e.getInputTargetBlock(`STACK`);for(var t=0;e;){if(e.isInsertionMarker()){e=e.getNextBlock();continue}let n=this.getInput(`ADD`+t);e.valueConnection_=n&&n.connection.targetConnection,e=e.getNextBlock(),t++}},updateShape_:function(){this.itemCount_&&this.getInput(`EMPTY`)?this.removeInput(`EMPTY`):this.itemCount_||this.getInput(`EMPTY`)||this.appendDummyInput(`EMPTY`).appendField(this.newQuote_(!0)).appendField(this.newQuote_(!1));for(var e=0;e<this.itemCount_;e++)if(!this.getInput(`ADD`+e)){let n=this.appendValueInput(`ADD`+e).setAlign(t.En.RIGHT).setAriaLabelProvider(t.C.INPUT_LABEL_TEXT_JOIN_ITEM.replace(`%1`,(e+1).toString()));e===0&&n.appendField(t.C.TEXT_JOIN_TITLE_CREATEWITH)}for(e=this.itemCount_;this.getInput(`ADD`+e);e++)this.removeInput(`ADD`+e)}},function(){this.mixin(f),this.itemCount_=2,this.updateShape_(),this.setMutator(new t.sh([`text_create_join_item`],this))}),t.th(`text_charAt_mutator`,{isAt_:!1,mutationToDom:function(){var e=t.rc(`mutation`);return e.setAttribute(`at`,`${this.isAt_}`),e},domToMutation:function(e){e=e.getAttribute(`at`)!==`false`,this.updateAt_(e)},updateAt_:function(e){this.removeInput(`AT`,!0),this.removeInput(`ORDINAL`,!0),e&&(this.appendValueInput(`AT`).setCheck(`Number`).setAriaLabelProvider(t.C.INPUT_LABEL_TEXT_POSITION),t.C.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(`ORDINAL`).appendField(t.C.ORDINAL_NUMBER_SUFFIX)),t.C.TEXT_CHARAT_TAIL&&(this.removeInput(`TAIL`,!0),this.appendDummyInput(`TAIL`).appendField(t.C.TEXT_CHARAT_TAIL)),this.isAt_=e}},function(){this.getField(`WHERE`).setValidator(function(e){e=e===`FROM_START`||e===`FROM_END`;var t=this.getSourceBlock();e!==t.isAt_&&t.updateAt_(e)}),this.updateAt_(!0),this.setTooltip(()=>{var e=this.getFieldValue(`WHERE`),n=t.C.TEXT_CHARAT_TOOLTIP;return(e===`FROM_START`||e===`FROM_END`)&&(e=e===`FROM_START`?t.C.LISTS_INDEX_FROM_START_TOOLTIP:t.C.LISTS_INDEX_FROM_END_TOOLTIP)&&(n+=` `+e.replace(`%1`,this.workspace.options.oneBasedIndex?`#1`:`#0`)),n})}),t.Ab(u);var p={blocks:u},m={},h={setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput(`STACK`).appendField(t.C.PROCEDURES_DEFNORETURN_DO),this.getInput(`RETURN`)&&this.moveInputBefore(`STACK`,`RETURN`)):this.removeInput(`STACK`,!0),this.hasStatements_=e)},updateParams_:function(){var e=``;this.arguments_.length&&(e=t.C.PROCEDURES_BEFORE_PARAMS+` `+this.arguments_.join(`, `)),t.Ub++;try{this.setFieldValue(e,`PARAMS`)}finally{t.Ub--}},mutationToDom:function(e){var n=t.rc(`mutation`);e&&n.setAttribute(`name`,this.getFieldValue(`NAME`));for(let r=0;r<this.argumentVarModels_.length;r++){let i=t.rc(`arg`),a=this.argumentVarModels_[r];i.setAttribute(`name`,a.getName()),i.setAttribute(`varid`,a.getId()),e&&this.paramIds_&&i.setAttribute(`paramId`,this.paramIds_[r]),n.appendChild(i)}return this.hasStatements_||n.setAttribute(`statements`,`false`),n},domToMutation:function(e){this.arguments_=[],this.argumentVarModels_=[];for(let r=0,i;i=e.childNodes[r];r++)if(i.nodeName.toLowerCase()===`arg`){var n=i;let e=n.getAttribute(`name`);n=n.getAttribute(`varid`)||n.getAttribute(`varId`),this.arguments_.push(e),n=t.Wd(this.workspace,n,e,``),n===null?console.log(`Failed to create a variable named "${e}", ignoring.`):this.argumentVarModels_.push(n)}this.updateParams_(),t.sj(this),this.setStatements_(e.getAttribute(`statements`)!==`false`)},saveExtraState:function(){if(!this.argumentVarModels_.length&&this.hasStatements_)return null;var e=Object.create(null);if(this.argumentVarModels_.length){e.params=[];for(let t=0;t<this.argumentVarModels_.length;t++)e.params.push({name:this.argumentVarModels_[t].getName(),id:this.argumentVarModels_[t].getId()})}return this.hasStatements_||(e.hasStatements=!1),e},loadExtraState:function(e){if(this.arguments_=[],this.argumentVarModels_=[],e.params)for(let r=0;r<e.params.length;r++){var n=e.params[r];n=t.Wd(this.workspace,n.id,n.name,``),this.arguments_.push(n.getName()),this.argumentVarModels_.push(n)}this.updateParams_(),t.sj(this),this.setStatements_(e.hasStatements!==!1)},decompose:function(e){var n=t.rc(`block`);n.setAttribute(`type`,`procedures_mutatorcontainer`);var r=t.rc(`statement`);r.setAttribute(`name`,`STACK`),n.appendChild(r);for(let e=0;e<this.arguments_.length;e++){let n=t.rc(`block`);n.setAttribute(`type`,`procedures_mutatorarg`);var i=t.rc(`field`);i.setAttribute(`name`,`NAME`);let a=t.sc(this.arguments_[e]);i.appendChild(a),n.appendChild(i),i=t.rc(`next`),n.appendChild(i),r.appendChild(n),r=i}return e=t.fh(n,e),this.type===`procedures_defreturn`?e.setFieldValue(this.hasStatements_,`STATEMENTS`):e.removeInput(`STATEMENT_INPUT`),t.sj(this),e},compose:function(e){this.arguments_=[],this.paramIds_=[],this.argumentVarModels_=[];for(var n=e.getInputTargetBlock(`STACK`);n&&!n.isInsertionMarker();){var r=n.getFieldValue(`NAME`);this.arguments_.push(r),r=this.workspace.getVariableMap().getVariable(r,``),this.argumentVarModels_.push(r),this.paramIds_.push(n.id),n=n.nextConnection&&n.nextConnection.targetBlock()}if(this.updateParams_(),t.sj(this),e=e.getFieldValue(`STATEMENTS`),e!==null&&(e=e===`TRUE`,this.hasStatements_!==e))if(e){this.setStatements_(!0);var i;(i=this.statementConnection_)==null||i.reconnect(this,`STACK`),this.statementConnection_=null}else i=this.getInput(`STACK`).connection,(this.statementConnection_=i.targetConnection)&&(i=i.targetBlock(),i.unplug(),i.bumpNeighbours()),this.setStatements_(!1)},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(e,n){var r=this.workspace.getVariableMap().getVariableById(e);if(r.getType()===``){r=r.getName(),n=this.workspace.getVariableMap().getVariableById(n);var i=!1;for(let t=0;t<this.argumentVarModels_.length;t++)this.argumentVarModels_[t].getId()===e&&(this.arguments_[t]=n.getName(),this.argumentVarModels_[t]=n,i=!0);i&&(this.displayRenamedVar_(r,n.getName()),t.sj(this))}},updateVarName:function(e){var n=e.getName(),r=!1;for(let t=0;t<this.argumentVarModels_.length;t++)if(this.argumentVarModels_[t].getId()===e.getId()){var i=this.arguments_[t];this.arguments_[t]=n,r=!0}r&&(this.displayRenamedVar_(i,n),t.sj(this))},displayRenamedVar_:function(e,n){this.updateParams_();var r=this.getIcon(t.sh.TYPE);if(r&&r.bubbleIsVisible()){r=r.getWorkspace().getAllBlocks(!1);for(let i=0,a;a=r[i];i++)a.type===`procedures_mutatorarg`&&t.kj.equals(e,a.getFieldValue(`NAME`))&&a.setFieldValue(n,`NAME`)}},customContextMenu:function(e){if(!this.isInFlyout){var n=this.getFieldValue(`NAME`),r={type:this.callType_,extraState:{name:n,params:this.arguments_}};if(e.push({enabled:!0,text:t.C.PROCEDURES_CREATE_DO.replace(`%1`,n),callback:t.Pg(this,r)}),!this.isCollapsed())for(n=0;n<this.argumentVarModels_.length;n++){r=this.argumentVarModels_[n];let i={type:`variables_get`,fields:{VAR:{name:r.getName(),id:r.getId(),type:r.getType()}}};e.push({enabled:!0,text:t.C.VARIABLES_SET_CREATE_GET.replace(`%1`,r.getName()),callback:t.Pg(this,i)})}}}};m.procedures_defnoreturn=Object.assign({},h,{init:function(){var e=t.jj(``,this);e=t.lh({type:`field_input`,text:e,ariaTypeName:t.C.ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE}),e.setValidator(t.mj),e.setSpellcheck(!1),this.appendDummyInput().appendField(t.C.PROCEDURES_DEFNORETURN_TITLE).appendField(e,`NAME`).appendField(``,`PARAMS`),this.setMutator(new t.sh([`procedures_mutatorarg`],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&t.C.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(t.C.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle(`procedure_blocks`),this.setTooltip(t.C.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(t.C.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},getProcedureDef:function(){return[this.getFieldValue(`NAME`),this.arguments_,!1]},callType_:`procedures_callnoreturn`}),m.procedures_defreturn=Object.assign({},h,{init:function(){var e=t.jj(``,this);e=t.lh({type:`field_input`,text:e,ariaTypeName:t.C.ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE}),e.setValidator(t.mj),e.setSpellcheck(!1),this.appendDummyInput().appendField(t.C.PROCEDURES_DEFRETURN_TITLE).appendField(e,`NAME`).appendField(``,`PARAMS`),this.appendValueInput(`RETURN`).setAlign(t.En.RIGHT).appendField(t.C.PROCEDURES_DEFRETURN_RETURN),this.setMutator(new t.sh([`procedures_mutatorarg`],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&t.C.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText(t.C.PROCEDURES_DEFRETURN_COMMENT),this.setStyle(`procedure_blocks`),this.setTooltip(t.C.PROCEDURES_DEFRETURN_TOOLTIP),this.setHelpUrl(t.C.PROCEDURES_DEFRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},getProcedureDef:function(){return[this.getFieldValue(`NAME`),this.arguments_,!0]},callType_:`procedures_callreturn`}),m.procedures_mutatorcontainer={init:function(){this.appendDummyInput().appendField(t.C.PROCEDURES_MUTATORCONTAINER_TITLE),this.appendStatementInput(`STACK`),this.appendDummyInput(`STATEMENT_INPUT`).appendField(t.C.PROCEDURES_ALLOW_STATEMENTS).appendField(t.lh({type:`field_checkbox`,checked:!0}),`STATEMENTS`),this.setStyle(`procedure_blocks`),this.setTooltip(t.C.PROCEDURES_MUTATORCONTAINER_TOOLTIP),this.contextMenu=!1}};var g=class extends t.Vp{constructor(){super(...arguments),this.editingInteractively=!1}showEditor_(e){super.showEditor_(e),this.editingInteractively=!0,this.editingVariable=void 0}onFinishEditing_(e){super.onFinishEditing_(e),this.editingInteractively=!1}};m.procedures_mutatorarg={init:function(){var e=new g(`x`,this.validator_,{ariaTypeName:t.C.ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT});this.appendDummyInput().appendField(t.C.PROCEDURES_MUTATORARG_TITLE).appendField(e,`NAME`),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle(`procedure_blocks`),this.setTooltip(t.C.PROCEDURES_MUTATORARG_TOOLTIP),this.contextMenu=!1},validator_:function(e){var t=this.getSourceBlock(),n=t.workspace.getRootWorkspace();if(e=e.replace(/[\s\xa0]+/g,` `).replace(/^ | $/g,``),!e)return null;var r=(t.workspace.targetWorkspace||t.workspace).getAllBlocks(!1),i=e.toLowerCase();for(let e=0;e<r.length;e++){if(r[e].id===this.getSourceBlock().id)continue;let t=r[e].getFieldValue(`NAME`);if(t&&t.toLowerCase()===i)return null}return t.isInFlyout?e:(t=n.getVariableMap(),(n=t.getVariable(e,``))&&n.getName()!==e&&t.renameVariable(n,e),n||(this.editingInteractively?this.editingVariable?t.renameVariable(this.editingVariable,e):this.editingVariable=t.createVariable(e,``):t.createVariable(e,``)),e)}};var _={getProcedureCall:function(){return this.getFieldValue(`NAME`)},renameProcedure:function(e,n){t.kj.equals(e,this.getProcedureCall())&&(this.setFieldValue(n,`NAME`),this.setTooltip((this.outputConnection?t.C.PROCEDURES_CALLRETURN_TOOLTIP:t.C.PROCEDURES_CALLNORETURN_TOOLTIP).replace(`%1`,n)))},setProcedureParameters_:function(e,n){var r=t.tj(this.getProcedureCall(),this.workspace);if((r=(r&&=r.getIcon(t.sh.TYPE))&&r.bubbleIsVisible())?this.setCollapsed(!1):(this.quarkConnections_={},this.quarkIds_=null),e.join(`
|
|
3
|
+
`)===this.arguments_.join(`
|
|
4
|
+
`))this.quarkIds_=n;else{if(n.length!==e.length)throw RangeError(`paramNames and paramIds must be the same length.`);this.quarkIds_||=(this.quarkConnections_={},[]);for(let e=0;e<this.arguments_.length;e++){var i=this.getInput(`ARG`+e);i&&(i=i.connection.targetConnection,this.quarkConnections_[this.quarkIds_[e]]=i,r&&i&&!n.includes(this.quarkIds_[e])&&(i.disconnect(),i.getSourceBlock().bumpNeighbours()))}for(this.arguments_=[].concat(e),this.argumentVarModels_=[],e=0;e<this.arguments_.length;e++)r=t.Wd(this.workspace,null,this.arguments_[e],``),this.argumentVarModels_.push(r);if(this.updateShape_(),this.quarkIds_=n){for(n=0;n<this.arguments_.length;n++)if(e=this.quarkIds_[n],e in this.quarkConnections_){let t;(t=this.quarkConnections_[e])!=null&&t.reconnect(this,`ARG`+n)||delete this.quarkConnections_[e]}}}},updateShape_:function(){for(var e=0;e<this.arguments_.length;e++){var n=this.getField(`ARGNAME`+e);if(n){t.Ub++;try{n.setValue(this.arguments_[e])}finally{t.Ub--}}else n=t.lh({type:`field_label`,text:this.arguments_[e]}),this.appendValueInput(`ARG`+e).setAlign(t.En.RIGHT).appendField(n,`ARGNAME`+e)}for(e=this.arguments_.length;this.getInput(`ARG`+e);e++)this.removeInput(`ARG`+e);(e=this.getInput(`TOPROW`))&&(this.arguments_.length?this.getField(`WITH`)||e.appendField(t.C.PROCEDURES_CALL_BEFORE_PARAMS,`WITH`):this.getField(`WITH`)&&e.removeField(`WITH`))},mutationToDom:function(){var e=t.rc(`mutation`);e.setAttribute(`name`,this.getProcedureCall());for(let n=0;n<this.arguments_.length;n++){let r=t.rc(`arg`);r.setAttribute(`name`,this.arguments_[n]),e.appendChild(r)}return e},domToMutation:function(e){var t=e.getAttribute(`name`);this.renameProcedure(this.getProcedureCall(),t),t=[];var n=[];for(let r=0,i;i=e.childNodes[r];r++)i.nodeName.toLowerCase()===`arg`&&(t.push(i.getAttribute(`name`)),n.push(i.getAttribute(`paramId`)));this.setProcedureParameters_(t,n)},saveExtraState:function(){var e=Object.create(null);return e.name=this.getProcedureCall(),this.arguments_.length&&(e.params=this.arguments_),e},loadExtraState:function(e){if(this.renameProcedure(this.getProcedureCall(),e.name),e=e.params){let t=[];t.length=e.length,t.fill(null),this.setProcedureParameters_(e,t)}},getVarModels:function(){return this.argumentVarModels_},onchange:function(e){if(this.workspace&&!this.workspace.isFlyout&&e.recordUndo)if(e.type===t.Od&&e.ids.includes(this.id)){var n=this.getProcedureCall(),r=t.tj(n,this.workspace);if(!r||r.type===this.defType_&&JSON.stringify(r.getVarModels().map(e=>e.getName()))===JSON.stringify(this.arguments_)||(r=null),r)r.isEnabled()||(this.setDisabledReason(!0,`DISABLED_PROCEDURE_DEFINITION`),this.setWarningText(t.C.PROCEDURES_CALL_DISABLED_DEF_WARNING.replace(`%1`,n)));else{t.B(e.group),e=t.rc(`xml`),n=t.rc(`block`),n.setAttribute(`type`,this.defType_),r=this.getRelativeToSurfaceXY();var i=r.y+t.Og.snapRadius*2;n.setAttribute(`x`,`${r.x+t.Og.snapRadius*(this.RTL?-1:1)}`),n.setAttribute(`y`,`${i}`),r=this.mutationToDom(),n.appendChild(r),r=t.rc(`field`),r.setAttribute(`name`,`NAME`),i=this.getProcedureCall();let a=t.jj(i,this);i!==a&&this.renameProcedure(i,a),r.appendChild(t.sc(i)),n.appendChild(r),e.appendChild(n),t.ch(e,this.workspace),t.B(!1)}}else e.type===t.lm?(n=this.getProcedureCall(),t.tj(n,this.workspace)||(t.B(e.group),this.dispose(!0),t.B(!1))):e.type===t.km&&e.element===`disabled`&&(n=this.getProcedureCall(),(i=t.tj(n,this.workspace))&&i.id===e.blockId&&((r=t.gd)&&console.log(`Saw an existing group while responding to a definition change`),t.B(e.group),e=i.isEnabled(),this.setDisabledReason(!e,`DISABLED_PROCEDURE_DEFINITION`),this.setWarningText(e?null:t.C.PROCEDURES_CALL_DISABLED_DEF_WARNING.replace(`%1`,n)),t.B(r)))},customContextMenu:function(e){if(this.workspace.isMovable()){var n=this.getProcedureCall(),r=this.workspace;e.push({enabled:!0,text:t.C.PROCEDURES_HIGHLIGHT_DEF,callback:function(){var e=t.tj(n,r);e&&(r.centerOnBlock(e.id),t.t().focusNode(e))}})}}};m.procedures_callnoreturn=Object.assign({},_,{init:function(){this.appendDummyInput(`TOPROW`).appendField(``,`NAME`),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle(`procedure_blocks`),this.setHelpUrl(t.C.PROCEDURES_CALLNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null},defType_:`procedures_defnoreturn`}),m.procedures_callreturn=Object.assign({},_,{init:function(){this.appendDummyInput(`TOPROW`).appendField(``,`NAME`),this.setOutput(!0),this.setStyle(`procedure_blocks`),this.setHelpUrl(t.C.PROCEDURES_CALLRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null},defType_:`procedures_defreturn`}),m.procedures_ifreturn={init:function(){this.appendValueInput(`CONDITION`).setCheck(`Boolean`).appendField(t.C.CONTROLS_IF_MSG_IF),this.appendValueInput(`VALUE`).appendField(t.C.PROCEDURES_DEFRETURN_RETURN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle(`procedure_blocks`),this.setTooltip(t.C.PROCEDURES_IFRETURN_TOOLTIP),this.setHelpUrl(t.C.PROCEDURES_IFRETURN_HELPURL),this.hasReturnValue_=!0},mutationToDom:function(){var e=t.rc(`mutation`);return e.setAttribute(`value`,String(Number(this.hasReturnValue_))),e},domToMutation:function(e){this.hasReturnValue_=e.getAttribute(`value`)===`1`,this.hasReturnValue_||(this.removeInput(`VALUE`),this.appendDummyInput(`VALUE`).appendField(t.C.PROCEDURES_DEFRETURN_RETURN))},onchange:function(e){if(!(this.workspace.isDragging&&this.workspace.isDragging()||e.type!==t.nm&&e.type!==t.Od)){e=!1;var n=this;do{if(this.FUNCTION_TYPES.includes(n.type)){e=!0;break}n=n.getSurroundParent()}while(n);if(e?(n.type===`procedures_defnoreturn`&&this.hasReturnValue_?(this.removeInput(`VALUE`),this.appendDummyInput(`VALUE`).appendField(t.C.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):n.type!==`procedures_defreturn`||this.hasReturnValue_||(this.removeInput(`VALUE`),this.appendValueInput(`VALUE`).appendField(t.C.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null)):this.setWarningText(t.C.PROCEDURES_IFRETURN_WARNING),!this.isInFlyout)try{t.Qc=!1,this.setDisabledReason(!e,`UNPARENTED_IFRETURN`)}finally{t.Qc=!0}}},FUNCTION_TYPES:[`procedures_defnoreturn`,`procedures_defreturn`]},t.Ab(m);var v={blocks:m},y=t.yb([{type:`math_number`,message0:`%1`,args0:[{type:`field_number`,name:`NUM`,value:0}],output:`Number`,helpUrl:`%{BKY_MATH_NUMBER_HELPURL}`,style:`math_blocks`,tooltip:`%{BKY_MATH_NUMBER_TOOLTIP}`,extensions:[`parent_tooltip_when_inline`]},{type:`math_arithmetic`,message0:`%1 %2 %3`,args0:[{type:`input_value`,name:`A`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_A}`},{type:`field_dropdown`,name:`OP`,options:[[`%{BKY_MATH_ADDITION_SYMBOL}`,`ADD`,`%{BKY_MATH_ADDITION_SYMBOL_ARIA}`],[`%{BKY_MATH_SUBTRACTION_SYMBOL}`,`MINUS`,`%{BKY_MATH_SUBTRACTION_SYMBOL_ARIA}`],[`%{BKY_MATH_MULTIPLICATION_SYMBOL}`,`MULTIPLY`,`%{BKY_MATH_MULTIPLICATION_SYMBOL_ARIA}`],[`%{BKY_MATH_DIVISION_SYMBOL}`,`DIVIDE`,`%{BKY_MATH_DIVISION_SYMBOL_ARIA}`],[`%{BKY_MATH_POWER_SYMBOL}`,`POWER`,`%{BKY_MATH_POWER_SYMBOL_ARIA}`]]},{type:`input_value`,name:`B`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_B}`}],inputsInline:!0,output:`Number`,style:`math_blocks`,helpUrl:`%{BKY_MATH_ARITHMETIC_HELPURL}`,extensions:[`math_op_tooltip`]},{type:`math_single`,message0:`%1 %2`,args0:[{type:`field_dropdown`,name:`OP`,options:[[`%{BKY_MATH_SINGLE_OP_ROOT}`,`ROOT`],[`%{BKY_MATH_SINGLE_OP_ABSOLUTE}`,`ABS`,`%{BKY_MATH_SINGLE_OP_ABSOLUTE_ARIA}`],[`-`,`NEG`,`%{BKY_MATH_SINGLE_OP_NEG_ARIA}`],[`ln`,`LN`,`%{BKY_MATH_SINGLE_OP_LN_ARIA}`],[`log10`,`LOG10`,`%{BKY_MATH_SINGLE_OP_LOG10_ARIA}`],[`e^`,`EXP`,`%{BKY_MATH_SINGLE_OP_EXP_ARIA}`],[`10^`,`POW10`,`%{BKY_MATH_SINGLE_OP_POW10_ARIA}`]]},{type:`input_value`,name:`NUM`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER}`}],output:`Number`,style:`math_blocks`,helpUrl:`%{BKY_MATH_SINGLE_HELPURL}`,extensions:[`math_op_tooltip`]},{type:`math_trig`,message0:`%1 %2`,args0:[{type:`field_dropdown`,name:`OP`,options:[[`%{BKY_MATH_TRIG_SIN}`,`SIN`,`%{BKY_MATH_TRIG_SIN_ARIA}`],[`%{BKY_MATH_TRIG_COS}`,`COS`,`%{BKY_MATH_TRIG_COS_ARIA}`],[`%{BKY_MATH_TRIG_TAN}`,`TAN`,`%{BKY_MATH_TRIG_TAN_ARIA}`],[`%{BKY_MATH_TRIG_ASIN}`,`ASIN`,`%{BKY_MATH_TRIG_ASIN_ARIA}`],[`%{BKY_MATH_TRIG_ACOS}`,`ACOS`,`%{BKY_MATH_TRIG_ACOS_ARIA}`],[`%{BKY_MATH_TRIG_ATAN}`,`ATAN`,`%{BKY_MATH_TRIG_ATAN_ARIA}`]]},{type:`input_value`,name:`NUM`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER}`}],output:`Number`,style:`math_blocks`,helpUrl:`%{BKY_MATH_TRIG_HELPURL}`,extensions:[`math_op_tooltip`]},{type:`math_constant`,message0:`%1`,args0:[{type:`field_dropdown`,name:`CONSTANT`,options:[[`π`,`PI`,`%{BKY_MATH_CONSTANT_PI_ARIA}`],[`e`,`E`,`%{BKY_MATH_CONSTANT_E_ARIA}`],[`φ`,`GOLDEN_RATIO`,`%{BKY_MATH_CONSTANT_GOLDEN_RATIO_ARIA}`],[`sqrt(2)`,`SQRT2`,`%{BKY_MATH_CONSTANT_SQRT2_ARIA}`],[`sqrt(½)`,`SQRT1_2`,`%{BKY_MATH_CONSTANT_SQRT1_2_ARIA}`],[`∞`,`INFINITY`,`%{BKY_MATH_CONSTANT_INFINITY_ARIA}`]]}],output:`Number`,style:`math_blocks`,tooltip:`%{BKY_MATH_CONSTANT_TOOLTIP}`,helpUrl:`%{BKY_MATH_CONSTANT_HELPURL}`},{type:`math_number_property`,message0:`%1 %2`,args0:[{type:`input_value`,name:`NUMBER_TO_CHECK`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_TO_CHECK}`},{type:`field_dropdown`,name:`PROPERTY`,options:[[`%{BKY_MATH_IS_EVEN}`,`EVEN`],[`%{BKY_MATH_IS_ODD}`,`ODD`],[`%{BKY_MATH_IS_PRIME}`,`PRIME`],[`%{BKY_MATH_IS_WHOLE}`,`WHOLE`],[`%{BKY_MATH_IS_POSITIVE}`,`POSITIVE`],[`%{BKY_MATH_IS_NEGATIVE}`,`NEGATIVE`],[`%{BKY_MATH_IS_DIVISIBLE_BY}`,`DIVISIBLE_BY`]]}],inputsInline:!0,output:`Boolean`,style:`math_blocks`,tooltip:`%{BKY_MATH_IS_TOOLTIP}`,mutator:`math_is_divisibleby_mutator`},{type:`math_change`,message0:`%{BKY_MATH_CHANGE_TITLE}`,args0:[{type:`field_variable`,name:`VAR`,variable:`%{BKY_MATH_CHANGE_TITLE_ITEM}`},{type:`input_value`,name:`DELTA`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_MATH_CHANGE_BY}`}],previousStatement:null,nextStatement:null,style:`variable_blocks`,helpUrl:`%{BKY_MATH_CHANGE_HELPURL}`,extensions:[`math_change_tooltip`]},{type:`math_round`,message0:`%1 %2`,args0:[{type:`field_dropdown`,name:`OP`,options:[[`%{BKY_MATH_ROUND_OPERATOR_ROUND}`,`ROUND`],[`%{BKY_MATH_ROUND_OPERATOR_ROUNDUP}`,`ROUNDUP`],[`%{BKY_MATH_ROUND_OPERATOR_ROUNDDOWN}`,`ROUNDDOWN`]]},{type:`input_value`,name:`NUM`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER}`}],output:`Number`,style:`math_blocks`,helpUrl:`%{BKY_MATH_ROUND_HELPURL}`,tooltip:`%{BKY_MATH_ROUND_TOOLTIP}`},{type:`math_on_list`,message0:`%1 %2`,args0:[{type:`field_dropdown`,name:`OP`,options:[[`%{BKY_MATH_ONLIST_OPERATOR_SUM}`,`SUM`],[`%{BKY_MATH_ONLIST_OPERATOR_MIN}`,`MIN`,`%{BKY_MATH_ONLIST_OPERATOR_MIN_ARIA}`],[`%{BKY_MATH_ONLIST_OPERATOR_MAX}`,`MAX`,`%{BKY_MATH_ONLIST_OPERATOR_MAX_ARIA}`],[`%{BKY_MATH_ONLIST_OPERATOR_AVERAGE}`,`AVERAGE`],[`%{BKY_MATH_ONLIST_OPERATOR_MEDIAN}`,`MEDIAN`],[`%{BKY_MATH_ONLIST_OPERATOR_MODE}`,`MODE`],[`%{BKY_MATH_ONLIST_OPERATOR_STD_DEV}`,`STD_DEV`],[`%{BKY_MATH_ONLIST_OPERATOR_RANDOM}`,`RANDOM`]]},{type:`input_value`,name:`LIST`,check:`Array`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_LIST}`}],output:`Number`,style:`math_blocks`,helpUrl:`%{BKY_MATH_ONLIST_HELPURL}`,mutator:`math_modes_of_list_mutator`,extensions:[`math_op_tooltip`]},{type:`math_modulo`,message0:`%{BKY_MATH_MODULO_TITLE}`,args0:[{type:`input_value`,name:`DIVIDEND`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_MATH_DIVIDEND}`},{type:`input_value`,name:`DIVISOR`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_MATH_DIVISOR}`}],inputsInline:!0,output:`Number`,style:`math_blocks`,tooltip:`%{BKY_MATH_MODULO_TOOLTIP}`,helpUrl:`%{BKY_MATH_MODULO_HELPURL}`},{type:`math_constrain`,message0:`%{BKY_MATH_CONSTRAIN_TITLE}`,args0:[{type:`input_value`,name:`VALUE`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_MATH_CONSTRAIN_VALUE}`},{type:`input_value`,name:`LOW`,check:`Number`},{type:`input_value`,name:`HIGH`,check:`Number`}],inputsInline:!0,output:`Number`,style:`math_blocks`,tooltip:`%{BKY_MATH_CONSTRAIN_TOOLTIP}`,helpUrl:`%{BKY_MATH_CONSTRAIN_HELPURL}`},{type:`math_random_int`,message0:`%{BKY_MATH_RANDOM_INT_TITLE}`,args0:[{type:`input_value`,name:`FROM`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_MIN}`},{type:`input_value`,name:`TO`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_MAX}`}],inputsInline:!0,output:`Number`,style:`math_blocks`,tooltip:`%{BKY_MATH_RANDOM_INT_TOOLTIP}`,helpUrl:`%{BKY_MATH_RANDOM_INT_HELPURL}`},{type:`math_random_float`,message0:`%{BKY_MATH_RANDOM_FLOAT_TITLE_RANDOM}`,output:`Number`,style:`math_blocks`,tooltip:`%{BKY_MATH_RANDOM_FLOAT_TOOLTIP}`,helpUrl:`%{BKY_MATH_RANDOM_FLOAT_HELPURL}`},{type:`math_atan2`,message0:`%{BKY_MATH_ATAN2_TITLE}`,args0:[{type:`input_value`,name:`X`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_ATAN2_X}`},{type:`input_value`,name:`Y`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_NUMBER_ATAN2_Y}`}],inputsInline:!0,output:`Number`,style:`math_blocks`,tooltip:`%{BKY_MATH_ATAN2_TOOLTIP}`,helpUrl:`%{BKY_MATH_ATAN2_HELPURL}`}]);t.oh(`math_op_tooltip`,t.yh(`OP`,{ADD:`%{BKY_MATH_ARITHMETIC_TOOLTIP_ADD}`,MINUS:`%{BKY_MATH_ARITHMETIC_TOOLTIP_MINUS}`,MULTIPLY:`%{BKY_MATH_ARITHMETIC_TOOLTIP_MULTIPLY}`,DIVIDE:`%{BKY_MATH_ARITHMETIC_TOOLTIP_DIVIDE}`,POWER:`%{BKY_MATH_ARITHMETIC_TOOLTIP_POWER}`,ROOT:`%{BKY_MATH_SINGLE_TOOLTIP_ROOT}`,ABS:`%{BKY_MATH_SINGLE_TOOLTIP_ABS}`,NEG:`%{BKY_MATH_SINGLE_TOOLTIP_NEG}`,LN:`%{BKY_MATH_SINGLE_TOOLTIP_LN}`,LOG10:`%{BKY_MATH_SINGLE_TOOLTIP_LOG10}`,EXP:`%{BKY_MATH_SINGLE_TOOLTIP_EXP}`,POW10:`%{BKY_MATH_SINGLE_TOOLTIP_POW10}`,SIN:`%{BKY_MATH_TRIG_TOOLTIP_SIN}`,COS:`%{BKY_MATH_TRIG_TOOLTIP_COS}`,TAN:`%{BKY_MATH_TRIG_TOOLTIP_TAN}`,ASIN:`%{BKY_MATH_TRIG_TOOLTIP_ASIN}`,ACOS:`%{BKY_MATH_TRIG_TOOLTIP_ACOS}`,ATAN:`%{BKY_MATH_TRIG_TOOLTIP_ATAN}`,SUM:`%{BKY_MATH_ONLIST_TOOLTIP_SUM}`,MIN:`%{BKY_MATH_ONLIST_TOOLTIP_MIN}`,MAX:`%{BKY_MATH_ONLIST_TOOLTIP_MAX}`,AVERAGE:`%{BKY_MATH_ONLIST_TOOLTIP_AVERAGE}`,MEDIAN:`%{BKY_MATH_ONLIST_TOOLTIP_MEDIAN}`,MODE:`%{BKY_MATH_ONLIST_TOOLTIP_MODE}`,STD_DEV:`%{BKY_MATH_ONLIST_TOOLTIP_STD_DEV}`,RANDOM:`%{BKY_MATH_ONLIST_TOOLTIP_RANDOM}`})),t.th(`math_is_divisibleby_mutator`,{mutationToDom:function(){var e=t.rc(`mutation`),n=this.getFieldValue(`PROPERTY`)===`DIVISIBLE_BY`;return e.setAttribute(`divisor_input`,String(n)),e},domToMutation:function(e){e=e.getAttribute(`divisor_input`)===`true`,this.updateShape_(e)},updateShape_:function(e){var t=this.getInput(`DIVISOR`);e?t||this.appendValueInput(`DIVISOR`).setCheck(`Number`):t&&this.removeInput(`DIVISOR`)}},function(){this.getField(`PROPERTY`).setValidator(function(e){e=e===`DIVISIBLE_BY`,this.getSourceBlock().updateShape_(e)})}),t.oh(`math_change_tooltip`,t.Ah(`%{BKY_MATH_CHANGE_TOOLTIP}`,`VAR`)),t.th(`math_modes_of_list_mutator`,{updateType_:function(e){e===`MODE`?this.outputConnection.setCheck(`Array`):this.outputConnection.setCheck(`Number`)},mutationToDom:function(){var e=t.rc(`mutation`);return e.setAttribute(`op`,this.getFieldValue(`OP`)),e},domToMutation:function(e){if(e=e.getAttribute(`op`),e===null)throw TypeError(`xmlElement had no op attribute`);this.updateType_(e)}},function(){this.getField(`OP`).setValidator(function(e){this.updateType_(e)}.bind(this))}),t.Ab(y);var b={blocks:y},x=t.yb([{type:`controls_repeat_ext`,message0:`%{BKY_CONTROLS_REPEAT_TITLE}`,args0:[{type:`input_value`,name:`TIMES`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_LOOP_TIMES}`}],message1:`%{BKY_CONTROLS_REPEAT_INPUT_DO} %1`,args1:[{type:`input_statement`,name:`DO`}],previousStatement:null,nextStatement:null,style:`loop_blocks`,tooltip:`%{BKY_CONTROLS_REPEAT_TOOLTIP}`,helpUrl:`%{BKY_CONTROLS_REPEAT_HELPURL}`},{type:`controls_repeat`,message0:`%{BKY_CONTROLS_REPEAT_TITLE}`,args0:[{type:`field_number`,name:`TIMES`,value:10,min:0,precision:1,ariaLabelText:`%{BKY_INPUT_LABEL_LOOP_TIMES}`}],message1:`%{BKY_CONTROLS_REPEAT_INPUT_DO} %1`,args1:[{type:`input_statement`,name:`DO`}],previousStatement:null,nextStatement:null,style:`loop_blocks`,tooltip:`%{BKY_CONTROLS_REPEAT_TOOLTIP}`,helpUrl:`%{BKY_CONTROLS_REPEAT_HELPURL}`},{type:`controls_whileUntil`,message0:`%1 %2`,args0:[{type:`field_dropdown`,name:`MODE`,options:[[`%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_WHILE}`,`WHILE`],[`%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL}`,`UNTIL`]]},{type:`input_value`,name:`BOOL`,check:`Boolean`,ariaLabelText:`%{BKY_INPUT_LABEL_CONDITION}`}],message1:`%{BKY_CONTROLS_REPEAT_INPUT_DO} %1`,args1:[{type:`input_statement`,name:`DO`}],previousStatement:null,nextStatement:null,style:`loop_blocks`,helpUrl:`%{BKY_CONTROLS_WHILEUNTIL_HELPURL}`,extensions:[`controls_whileUntil_tooltip`]},{type:`controls_for`,message0:`%{BKY_CONTROLS_FOR_TITLE}`,args0:[{type:`field_variable`,name:`VAR`,variable:null},{type:`input_value`,name:`FROM`,check:`Number`,align:`RIGHT`,ariaLabelText:`%{BKY_INPUT_LABEL_LOOP_FROM}`},{type:`input_value`,name:`TO`,check:`Number`,align:`RIGHT`,ariaLabelText:`%{BKY_INPUT_LABEL_LOOP_TO}`},{type:`input_value`,name:`BY`,check:`Number`,align:`RIGHT`,ariaLabelText:`%{BKY_INPUT_LABEL_LOOP_BY}`}],message1:`%{BKY_CONTROLS_REPEAT_INPUT_DO} %1`,args1:[{type:`input_statement`,name:`DO`}],inputsInline:!0,previousStatement:null,nextStatement:null,style:`loop_blocks`,helpUrl:`%{BKY_CONTROLS_FOR_HELPURL}`,extensions:[`contextMenu_newGetVariableBlock`,`controls_for_tooltip`]},{type:`controls_forEach`,message0:`%{BKY_CONTROLS_FOREACH_TITLE}`,args0:[{type:`field_variable`,name:`VAR`,variable:null},{type:`input_value`,name:`LIST`,check:`Array`,ariaLabelText:`%{BKY_INPUT_LABEL_LOOP_LIST}`}],message1:`%{BKY_CONTROLS_REPEAT_INPUT_DO} %1`,args1:[{type:`input_statement`,name:`DO`}],previousStatement:null,nextStatement:null,style:`loop_blocks`,helpUrl:`%{BKY_CONTROLS_FOREACH_HELPURL}`,extensions:[`contextMenu_newGetVariableBlock`,`controls_forEach_tooltip`]},{type:`controls_flow_statements`,message0:`%1`,args0:[{type:`field_dropdown`,name:`FLOW`,options:[[`%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK}`,`BREAK`],[`%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE}`,`CONTINUE`]]}],previousStatement:null,style:`loop_blocks`,helpUrl:`%{BKY_CONTROLS_FLOW_STATEMENTS_HELPURL}`,suppressPrefixSuffix:!0,extensions:[`controls_flow_tooltip`,`controls_flow_in_loop_check`]}]);t.oh(`controls_whileUntil_tooltip`,t.yh(`MODE`,{WHILE:`%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE}`,UNTIL:`%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}`})),t.oh(`controls_flow_tooltip`,t.yh(`FLOW`,{BREAK:`%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK}`,CONTINUE:`%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}`})),t.ph(`contextMenu_newGetVariableBlock`,{customContextMenu:function(e){if(!this.isInFlyout){var n=this.getField(`VAR`),r=n.getVariable().getName();this.isCollapsed()||r===null||(n={type:`variables_get`,fields:{VAR:n.saveState(!0)}},e.push({enabled:!0,text:t.C.VARIABLES_SET_CREATE_GET.replace(`%1`,r),callback:t.Pg(this,n)}))}}}),t.oh(`controls_for_tooltip`,t.Ah(`%{BKY_CONTROLS_FOR_TOOLTIP}`,`VAR`)),t.oh(`controls_forEach_tooltip`,t.Ah(`%{BKY_CONTROLS_FOREACH_TOOLTIP}`,`VAR`));var S=new Set([`controls_repeat`,`controls_repeat_ext`,`controls_forEach`,`controls_for`,`controls_whileUntil`]);t.ph(`controls_flow_in_loop_check`,{getSurroundLoop:function(){var e=this;do{if(S.has(e.type))return e;e=e.getSurroundParent()}while(e);return null},onchange:function(e){var n=this.workspace;if(n.isDragging&&!n.isDragging()&&(e.type===t.nm||e.type===t.Od)&&(e=!!this.getSurroundLoop(),this.setWarningText(e?null:t.C.CONTROLS_FLOW_STATEMENTS_WARNING),!this.isInFlyout))try{t.Qc=!1,this.setDisabledReason(!e,`CONTROL_FLOW_NOT_IN_LOOP`)}finally{t.Qc=!0}}}),t.Ab(x);var C={blocks:x,loopTypes:S},w=t.yb([{type:`logic_boolean`,message0:`%1`,args0:[{type:`field_dropdown`,name:`BOOL`,options:[[`%{BKY_LOGIC_BOOLEAN_TRUE}`,`TRUE`],[`%{BKY_LOGIC_BOOLEAN_FALSE}`,`FALSE`]]}],output:`Boolean`,style:`logic_blocks`,tooltip:`%{BKY_LOGIC_BOOLEAN_TOOLTIP}`,helpUrl:`%{BKY_LOGIC_BOOLEAN_HELPURL}`},{type:`controls_if`,message0:`%{BKY_CONTROLS_IF_MSG_IF} %1`,args0:[{type:`input_value`,name:`IF0`,check:`Boolean`}],message1:`%{BKY_CONTROLS_IF_MSG_THEN} %1`,args1:[{type:`input_statement`,name:`DO0`}],previousStatement:null,nextStatement:null,style:`logic_blocks`,helpUrl:`%{BKY_CONTROLS_IF_HELPURL}`,suppressPrefixSuffix:!0,mutator:`controls_if_mutator`,extensions:[`controls_if_tooltip`]},{type:`controls_ifelse`,message0:`%{BKY_CONTROLS_IF_MSG_IF} %1`,args0:[{type:`input_value`,name:`IF0`,check:`Boolean`}],message1:`%{BKY_CONTROLS_IF_MSG_THEN} %1`,args1:[{type:`input_statement`,name:`DO0`}],message2:`%{BKY_CONTROLS_IF_MSG_ELSE} %1`,args2:[{type:`input_statement`,name:`ELSE`}],previousStatement:null,nextStatement:null,style:`logic_blocks`,tooltip:`%{BKY_CONTROLS_IF_TOOLTIP_2}`,helpUrl:`%{BKY_CONTROLS_IF_HELPURL}`,suppressPrefixSuffix:!0},{type:`logic_compare`,message0:`%1 %2 %3`,args0:[{type:`input_value`,name:`A`,ariaLabelText:`%{BKY_INPUT_LABEL_VALUE_A}`},{type:`field_dropdown`,name:`OP`,options:[[`=`,`EQ`,`%{BKY_LOGIC_COMPARE_EQ_ARIA}`],[`≠`,`NEQ`,`%{BKY_LOGIC_COMPARE_NEQ_ARIA}`],[`<`,`LT`,`%{BKY_LOGIC_COMPARE_LT_ARIA}`],[`≤`,`LTE`,`%{BKY_LOGIC_COMPARE_LTE_ARIA}`],[`>`,`GT`,`%{BKY_LOGIC_COMPARE_GT_ARIA}`],[`≥`,`GTE`,`%{BKY_LOGIC_COMPARE_GTE_ARIA}`]]},{type:`input_value`,name:`B`,ariaLabelText:`%{BKY_INPUT_LABEL_VALUE_B}`}],inputsInline:!0,output:`Boolean`,style:`logic_blocks`,helpUrl:`%{BKY_LOGIC_COMPARE_HELPURL}`,extensions:[`logic_compare`,`logic_op_tooltip`]},{type:`logic_operation`,message0:`%1 %2 %3`,args0:[{type:`input_value`,name:`A`,check:`Boolean`,ariaLabelText:`%{BKY_INPUT_LABEL_CONDITION_A}`},{type:`field_dropdown`,name:`OP`,options:[[`%{BKY_LOGIC_OPERATION_AND}`,`AND`],[`%{BKY_LOGIC_OPERATION_OR}`,`OR`]]},{type:`input_value`,name:`B`,check:`Boolean`,ariaLabelText:`%{BKY_INPUT_LABEL_CONDITION_B}`}],inputsInline:!0,output:`Boolean`,style:`logic_blocks`,helpUrl:`%{BKY_LOGIC_OPERATION_HELPURL}`,extensions:[`logic_op_tooltip`]},{type:`logic_negate`,message0:`%{BKY_LOGIC_NEGATE_TITLE}`,args0:[{type:`input_value`,name:`BOOL`,check:`Boolean`}],output:`Boolean`,style:`logic_blocks`,tooltip:`%{BKY_LOGIC_NEGATE_TOOLTIP}`,helpUrl:`%{BKY_LOGIC_NEGATE_HELPURL}`},{type:`logic_null`,message0:`%{BKY_LOGIC_NULL}`,output:null,style:`logic_blocks`,tooltip:`%{BKY_LOGIC_NULL_TOOLTIP}`,helpUrl:`%{BKY_LOGIC_NULL_HELPURL}`},{type:`logic_ternary`,message0:`%{BKY_LOGIC_TERNARY_CONDITION} %1`,args0:[{type:`input_value`,name:`IF`,check:`Boolean`}],message1:`%{BKY_LOGIC_TERNARY_IF_TRUE} %1`,args1:[{type:`input_value`,name:`THEN`}],message2:`%{BKY_LOGIC_TERNARY_IF_FALSE} %1`,args2:[{type:`input_value`,name:`ELSE`}],output:null,style:`logic_blocks`,tooltip:`%{BKY_LOGIC_TERNARY_TOOLTIP}`,helpUrl:`%{BKY_LOGIC_TERNARY_HELPURL}`,extensions:[`logic_ternary`]},{type:`controls_if_if`,message0:`%{BKY_CONTROLS_IF_IF_TITLE_IF}`,nextStatement:null,enableContextMenu:!1,style:`logic_blocks`,tooltip:`%{BKY_CONTROLS_IF_IF_TOOLTIP}`},{type:`controls_if_elseif`,message0:`%{BKY_CONTROLS_IF_ELSEIF_TITLE_ELSEIF}`,previousStatement:null,nextStatement:null,enableContextMenu:!1,style:`logic_blocks`,tooltip:`%{BKY_CONTROLS_IF_ELSEIF_TOOLTIP}`},{type:`controls_if_else`,message0:`%{BKY_CONTROLS_IF_ELSE_TITLE_ELSE}`,previousStatement:null,enableContextMenu:!1,style:`logic_blocks`,tooltip:`%{BKY_CONTROLS_IF_ELSE_TOOLTIP}`}]);t.oh(`logic_op_tooltip`,t.yh(`OP`,{EQ:`%{BKY_LOGIC_COMPARE_TOOLTIP_EQ}`,NEQ:`%{BKY_LOGIC_COMPARE_TOOLTIP_NEQ}`,LT:`%{BKY_LOGIC_COMPARE_TOOLTIP_LT}`,LTE:`%{BKY_LOGIC_COMPARE_TOOLTIP_LTE}`,GT:`%{BKY_LOGIC_COMPARE_TOOLTIP_GT}`,GTE:`%{BKY_LOGIC_COMPARE_TOOLTIP_GTE}`,AND:`%{BKY_LOGIC_OPERATION_TOOLTIP_AND}`,OR:`%{BKY_LOGIC_OPERATION_TOOLTIP_OR}`})),t.th(`controls_if_mutator`,{elseifCount_:0,elseCount_:0,mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=t.rc(`mutation`);return this.elseifCount_&&e.setAttribute(`elseif`,String(this.elseifCount_)),this.elseCount_&&e.setAttribute(`else`,`1`),e},domToMutation:function(e){this.elseifCount_=parseInt(e.getAttribute(`elseif`),10)||0,this.elseCount_=parseInt(e.getAttribute(`else`),10)||0,this.rebuildShape_()},saveExtraState:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=Object.create(null);return this.elseifCount_&&(e.elseIfCount=this.elseifCount_),this.elseCount_&&(e.hasElse=!0),e},loadExtraState:function(e){this.elseifCount_=e.elseIfCount||0,this.elseCount_=+!!e.hasElse,this.updateShape_()},decompose:function(e){var t=e.newBlock(`controls_if_if`);t.initSvg();var n=t.nextConnection;for(let t=1;t<=this.elseifCount_;t++){let t=e.newBlock(`controls_if_elseif`);t.initSvg(),n.connect(t.previousConnection),n=t.nextConnection}return this.elseCount_&&(e=e.newBlock(`controls_if_else`),e.initSvg(),n.connect(e.previousConnection)),t},compose:function(e){e=e.nextConnection.targetBlock(),this.elseCount_=this.elseifCount_=0;for(var t=[null],n=[null],r=null;e;){if(!e.isInsertionMarker())switch(e.type){case`controls_if_elseif`:this.elseifCount_++,t.push(e.valueConnection_),n.push(e.statementConnection_);break;case`controls_if_else`:this.elseCount_++,r=e.statementConnection_;break;default:throw TypeError(`Unknown block type: `+e.type)}e=e.getNextBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,n,r)},saveConnections:function(e){e=e.nextConnection.targetBlock();for(var t=1;e;){if(!e.isInsertionMarker())switch(e.type){case`controls_if_elseif`:var n=this.getInput(`IF`+t);let r=this.getInput(`DO`+t);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=r&&r.connection.targetConnection,t++;break;case`controls_if_else`:n=this.getInput(`ELSE`),e.statementConnection_=n&&n.connection.targetConnection;break;default:throw TypeError(`Unknown block type: `+e.type)}e=e.getNextBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput(`ELSE`)&&(n=this.getInput(`ELSE`).connection.targetConnection);for(let n=1;this.getInput(`IF`+n);n++){let r=this.getInput(`IF`+n),i=this.getInput(`DO`+n);e.push(r.connection.targetConnection),t.push(i.connection.targetConnection)}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput(`ELSE`)&&this.removeInput(`ELSE`);for(var e=1;this.getInput(`IF`+e);e++)this.removeInput(`IF`+e),this.removeInput(`DO`+e);for(e=1;e<=this.elseifCount_;e++)this.appendValueInput(`IF`+e).setCheck(`Boolean`).appendField(t.C.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput(`DO`+e).appendField(t.C.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput(`ELSE`).appendField(t.C.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,n){for(let n=1;n<=this.elseifCount_;n++){let r;(r=e[n])==null||r.reconnect(this,`IF`+n);let i;(i=t[n])==null||i.reconnect(this,`DO`+n)}n==null||n.reconnect(this,`ELSE`)}},null,[`controls_if_elseif`,`controls_if_else`]),t.oh(`controls_if_tooltip`,function(){this.setTooltip(function(){if(this.elseifCount_||this.elseCount_){if(!this.elseifCount_&&this.elseCount_)return t.C.CONTROLS_IF_TOOLTIP_2;if(this.elseifCount_&&!this.elseCount_)return t.C.CONTROLS_IF_TOOLTIP_3;if(this.elseifCount_&&this.elseCount_)return t.C.CONTROLS_IF_TOOLTIP_4}else return t.C.CONTROLS_IF_TOOLTIP_1;return``}.bind(this))});var T={onchange:function(e){this.prevBlocks_||=[null,null];var n=this.getInputTargetBlock(`A`),r=this.getInputTargetBlock(`B`);n&&r&&!this.workspace.connectionChecker.doTypeChecks(n.outputConnection,r.outputConnection)&&(t.B(e.group),e=this.prevBlocks_[0],e!==n&&(n.unplug(),!e||e.isDisposed()||e.isShadow()||this.getInput(`A`).connection.connect(e.outputConnection)),n=this.prevBlocks_[1],n!==r&&(r.unplug(),!n||n.isDisposed()||n.isShadow()||this.getInput(`B`).connection.connect(n.outputConnection)),this.bumpNeighbours(),t.B(!1)),this.prevBlocks_[0]=this.getInputTargetBlock(`A`),this.prevBlocks_[1]=this.getInputTargetBlock(`B`)}};t.oh(`logic_compare`,function(){this.mixin(T)}),t.ph(`logic_ternary`,{prevParentConnection_:null,onchange:function(e){var n=this.getInputTargetBlock(`THEN`),r=this.getInputTargetBlock(`ELSE`),i=this.outputConnection.targetConnection;if((n||r)&&i)for(let a=0;a<2;a++){let o=a===1?n:r;o&&!o.workspace.connectionChecker.doTypeChecks(o.outputConnection,i)&&(t.B(e.group),i===this.prevParentConnection_?(this.unplug(),i.getSourceBlock().bumpNeighbours()):(o.unplug(),o.bumpNeighbours()),t.B(!1))}this.prevParentConnection_=i}}),t.Ab(w);var E={blocks:w},D=t.yb([{type:`lists_create_empty`,message0:`%{BKY_LISTS_CREATE_EMPTY_TITLE}`,output:`Array`,style:`list_blocks`,tooltip:`%{BKY_LISTS_CREATE_EMPTY_TOOLTIP}`,helpUrl:`%{BKY_LISTS_CREATE_EMPTY_HELPURL}`},{type:`lists_repeat`,message0:`%{BKY_LISTS_REPEAT_TITLE}`,args0:[{type:`input_value`,name:`ITEM`,ariaLabelText:`%{BKY_INPUT_LABEL_LISTS_REPEAT_ITEM}`},{type:`input_value`,name:`NUM`,check:`Number`,ariaLabelText:`%{BKY_INPUT_LABEL_LISTS_REPEAT_NUM}`}],output:`Array`,style:`list_blocks`,tooltip:`%{BKY_LISTS_REPEAT_TOOLTIP}`,helpUrl:`%{BKY_LISTS_REPEAT_HELPURL}`},{type:`lists_reverse`,message0:`%{BKY_LISTS_REVERSE_MESSAGE0}`,args0:[{type:`input_value`,name:`LIST`,check:`Array`,ariaLabelText:`%{BKY_INPUT_LABEL_LISTS_TO_CHANGE}`}],output:`Array`,inputsInline:!0,style:`list_blocks`,tooltip:`%{BKY_LISTS_REVERSE_TOOLTIP}`,helpUrl:`%{BKY_LISTS_REVERSE_HELPURL}`},{type:`lists_isEmpty`,message0:`%{BKY_LISTS_ISEMPTY_TITLE}`,args0:[{type:`input_value`,name:`VALUE`,check:[`String`,`Array`],ariaLabelText:`%{BKY_INPUT_LABEL_LISTS_TO_CHECK}`}],output:`Boolean`,style:`list_blocks`,tooltip:`%{BKY_LISTS_ISEMPTY_TOOLTIP}`,helpUrl:`%{BKY_LISTS_ISEMPTY_HELPURL}`},{type:`lists_length`,message0:`%{BKY_LISTS_LENGTH_TITLE}`,args0:[{type:`input_value`,name:`VALUE`,check:[`String`,`Array`],ariaLabelText:`%{BKY_INPUT_LABEL_LISTS_TO_CHECK}`}],output:`Number`,style:`list_blocks`,tooltip:`%{BKY_LISTS_LENGTH_TOOLTIP}`,helpUrl:`%{BKY_LISTS_LENGTH_HELPURL}`}]);D.lists_create_with={init:function(){this.setHelpUrl(t.C.LISTS_CREATE_WITH_HELPURL),this.setStyle(`list_blocks`),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,`Array`),this.setMutator(new t.sh([`lists_create_with_item`],this)),this.setTooltip(t.C.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=t.rc(`mutation`);return e.setAttribute(`items`,String(this.itemCount_)),e},domToMutation:function(e){if(e=e.getAttribute(`items`),!e)throw TypeError(`element did not have items`);this.itemCount_=parseInt(e,10),this.updateShape_()},saveExtraState:function(){return{itemCount:this.itemCount_}},loadExtraState:function(e){this.itemCount_=e.itemCount,this.updateShape_()},decompose:function(e){var t=e.newBlock(`lists_create_with_container`);t.initSvg();var n=t.getInput(`STACK`).connection;for(let t=0;t<this.itemCount_;t++){let t=e.newBlock(`lists_create_with_item`);if(t.initSvg(),!t.previousConnection)throw Error(`itemBlock has no previousConnection`);n.connect(t.previousConnection),n=t.nextConnection}return t},compose:function(e){var t=e.getInputTargetBlock(`STACK`);for(e=[];t;)t.isInsertionMarker()||e.push(t.valueConnection_),t=t.getNextBlock();for(t=0;t<this.itemCount_;t++){let n=this.getInput(`ADD`+t).connection.targetConnection;n&&!e.includes(n)&&n.disconnect()}for(this.itemCount_=e.length,this.updateShape_(),t=0;t<this.itemCount_;t++){let n;(n=e[t])==null||n.reconnect(this,`ADD`+t)}},saveConnections:function(e){e=e.getInputTargetBlock(`STACK`);for(var t=0;e;){if(e.isInsertionMarker()){e=e.getNextBlock();continue}let n=this.getInput(`ADD`+t);e.valueConnection_=n==null?void 0:n.connection.targetConnection,e=e.getNextBlock(),t++}},updateShape_:function(){this.itemCount_&&this.getInput(`EMPTY`)?this.removeInput(`EMPTY`):this.itemCount_||this.getInput(`EMPTY`)||this.appendDummyInput(`EMPTY`).appendField(t.C.LISTS_CREATE_EMPTY_TITLE);for(var e=0;e<this.itemCount_;e++)if(!this.getInput(`ADD`+e)){let n=this.appendValueInput(`ADD`+e).setAlign(t.En.RIGHT).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_CREATE_WITH_ITEM.replace(`%1`,String(e+1)));e===0&&n.appendField(t.C.LISTS_CREATE_WITH_INPUT_WITH)}for(e=this.itemCount_;this.getInput(`ADD`+e);e++)this.removeInput(`ADD`+e)}},D.lists_create_with_container={init:function(){this.setStyle(`list_blocks`),this.appendDummyInput().appendField(t.C.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD),this.appendStatementInput(`STACK`),this.setTooltip(t.C.LISTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},D.lists_create_with_item={init:function(){this.setStyle(`list_blocks`),this.appendDummyInput().appendField(t.C.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(t.C.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},D.lists_indexOf={init:function(){var e=[[t.C.LISTS_INDEX_OF_FIRST,`FIRST`],[t.C.LISTS_INDEX_OF_LAST,`LAST`]];if(this.setHelpUrl(t.C.LISTS_INDEX_OF_HELPURL),this.setStyle(`list_blocks`),this.setOutput(!0,`Number`),this.appendValueInput(`VALUE`).setCheck(`Array`).appendField(t.C.LISTS_INDEX_OF_INPUT_IN_LIST).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_TO_CHECK),e=t.lh({type:`field_dropdown`,options:e}),!e)throw Error(`field_dropdown not found`);this.appendValueInput(`FIND`).appendField(e,`END`),this.setInputsInline(!0),this.setTooltip(()=>t.C.LISTS_INDEX_OF_TOOLTIP.replace(`%1`,this.workspace.options.oneBasedIndex?`0`:`-1`))}},D.lists_getIndex={init:function(){var e=[[t.C.LISTS_GET_INDEX_GET,`GET`],[t.C.LISTS_GET_INDEX_GET_REMOVE,`GET_REMOVE`],[t.C.LISTS_GET_INDEX_REMOVE,`REMOVE`]];this.WHERE_OPTIONS=[[t.C.LISTS_GET_INDEX_FROM_START,`FROM_START`],[t.C.LISTS_GET_INDEX_FROM_END,`FROM_END`],[t.C.LISTS_GET_INDEX_FIRST,`FIRST`],[t.C.LISTS_GET_INDEX_LAST,`LAST`],[t.C.LISTS_GET_INDEX_RANDOM,`RANDOM`]],this.setHelpUrl(t.C.LISTS_GET_INDEX_HELPURL),this.setStyle(`list_blocks`),e=t.lh({type:`field_dropdown`,options:e}),e.setValidator(function(e){e=e===`REMOVE`,this.getSourceBlock().updateStatement_(e)}),this.appendValueInput(`VALUE`).setCheck(`Array`).appendField(t.C.LISTS_GET_INDEX_INPUT_IN_LIST).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_TO_CHECK),this.appendDummyInput().appendField(e,`MODE`).appendField(``,`SPACE`),e=t.lh({type:`field_dropdown`,options:this.WHERE_OPTIONS}),e.setValidator(function(e){var t=this.getValue();e=e===`FROM_START`||e===`FROM_END`,e!==(t===`FROM_START`||t===`FROM_END`)&&this.getSourceBlock().updateAt_(e)}),this.appendDummyInput().appendField(e,`WHERE`),this.appendDummyInput(`AT`),t.C.LISTS_GET_INDEX_TAIL&&this.appendDummyInput(`TAIL`).appendField(t.C.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0),this.setTooltip(()=>{var e=this.getFieldValue(`MODE`),n=this.getFieldValue(`WHERE`),r=``;switch(e+` `+n){case`GET FROM_START`:case`GET FROM_END`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case`GET FIRST`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_FIRST;break;case`GET LAST`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_LAST;break;case`GET RANDOM`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case`GET_REMOVE FROM_START`:case`GET_REMOVE FROM_END`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case`GET_REMOVE FIRST`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST;break;case`GET_REMOVE LAST`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST;break;case`GET_REMOVE RANDOM`:r=t.C.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM;break;case`REMOVE FROM_START`:case`REMOVE FROM_END`:r=t.C.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM;break;case`REMOVE FIRST`:r=t.C.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST;break;case`REMOVE LAST`:r=t.C.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST;break;case`REMOVE RANDOM`:r=t.C.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM}return(n===`FROM_START`||n===`FROM_END`)&&(r+=` `+(n===`FROM_START`?t.C.LISTS_INDEX_FROM_START_TOOLTIP:t.C.LISTS_INDEX_FROM_END_TOOLTIP).replace(`%1`,this.workspace.options.oneBasedIndex?`#1`:`#0`)),r})},mutationToDom:function(){var e=t.rc(`mutation`);e.setAttribute(`statement`,String(!this.outputConnection));var n=this.getInput(`AT`)instanceof t.Nn;return e.setAttribute(`at`,String(n)),e},domToMutation:function(e){var t=e.getAttribute(`statement`)===`true`;this.updateStatement_(t),e=e.getAttribute(`at`)!==`false`,this.updateAt_(e)},saveExtraState:function(){return this.outputConnection?null:{isStatement:!0}},loadExtraState:function(e){e.isStatement?this.updateStatement_(!0):typeof e==`string`&&this.domToMutation(t.uc(e))},updateStatement_:function(e){e!==!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput(`AT`),this.removeInput(`ORDINAL`,!0),e?(this.appendValueInput(`AT`).setCheck(`Number`).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_POSITION),t.C.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(`ORDINAL`).appendField(t.C.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(`AT`),t.C.LISTS_GET_INDEX_TAIL&&this.moveInputBefore(`TAIL`,null)}},D.lists_setIndex={init:function(){var e=[[t.C.LISTS_SET_INDEX_SET,`SET`],[t.C.LISTS_SET_INDEX_INSERT,`INSERT`]];this.WHERE_OPTIONS=[[t.C.LISTS_GET_INDEX_FROM_START,`FROM_START`],[t.C.LISTS_GET_INDEX_FROM_END,`FROM_END`],[t.C.LISTS_GET_INDEX_FIRST,`FIRST`],[t.C.LISTS_GET_INDEX_LAST,`LAST`],[t.C.LISTS_GET_INDEX_RANDOM,`RANDOM`]],this.setHelpUrl(t.C.LISTS_SET_INDEX_HELPURL),this.setStyle(`list_blocks`),this.appendValueInput(`LIST`).setCheck(`Array`).appendField(t.C.LISTS_SET_INDEX_INPUT_IN_LIST).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_TO_CHECK),e=t.lh({type:`field_dropdown`,options:e}),this.appendDummyInput().appendField(e,`MODE`).appendField(``,`SPACE`),e=t.lh({type:`field_dropdown`,options:this.WHERE_OPTIONS}),e.setValidator(function(e){var t=this.getValue();e=e===`FROM_START`||e===`FROM_END`,e!==(t===`FROM_START`||t===`FROM_END`)&&this.getSourceBlock().updateAt_(e)}),this.appendDummyInput().appendField(e,`WHERE`),this.appendDummyInput(`AT`),this.appendValueInput(`TO`).appendField(t.C.LISTS_SET_INDEX_INPUT_TO).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_VALUE_TO_SET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(t.C.LISTS_SET_INDEX_TOOLTIP),this.updateAt_(!0),this.setTooltip(()=>{var e=this.getFieldValue(`MODE`),n=this.getFieldValue(`WHERE`),r=``;switch(e+` `+n){case`SET FROM_START`:case`SET FROM_END`:r=t.C.LISTS_SET_INDEX_TOOLTIP_SET_FROM;break;case`SET FIRST`:r=t.C.LISTS_SET_INDEX_TOOLTIP_SET_FIRST;break;case`SET LAST`:r=t.C.LISTS_SET_INDEX_TOOLTIP_SET_LAST;break;case`SET RANDOM`:r=t.C.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM;break;case`INSERT FROM_START`:case`INSERT FROM_END`:r=t.C.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM;break;case`INSERT FIRST`:r=t.C.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST;break;case`INSERT LAST`:r=t.C.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST;break;case`INSERT RANDOM`:r=t.C.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM}return(n===`FROM_START`||n===`FROM_END`)&&(r+=` `+t.C.LISTS_INDEX_FROM_START_TOOLTIP.replace(`%1`,this.workspace.options.oneBasedIndex?`#1`:`#0`)),r})},mutationToDom:function(){var e=t.rc(`mutation`),n=this.getInput(`AT`)instanceof t.Nn;return e.setAttribute(`at`,String(n)),e},domToMutation:function(e){e=e.getAttribute(`at`)!==`false`,this.updateAt_(e)},saveExtraState:function(){return null},loadExtraState:function(){},updateAt_:function(e){this.removeInput(`AT`),this.removeInput(`ORDINAL`,!0),e?(this.appendValueInput(`AT`).setCheck(`Number`).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_POSITION),t.C.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(`ORDINAL`).appendField(t.C.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(`AT`),this.moveInputBefore(`AT`,`TO`),this.getInput(`ORDINAL`)&&this.moveInputBefore(`ORDINAL`,`TO`)}},D.lists_getSublist={init:function(){this.WHERE_OPTIONS_1=[[t.C.LISTS_GET_SUBLIST_START_FROM_START,`FROM_START`],[t.C.LISTS_GET_SUBLIST_START_FROM_END,`FROM_END`],[t.C.LISTS_GET_SUBLIST_START_FIRST,`FIRST`]],this.WHERE_OPTIONS_2=[[t.C.LISTS_GET_SUBLIST_END_FROM_START,`FROM_START`],[t.C.LISTS_GET_SUBLIST_END_FROM_END,`FROM_END`],[t.C.LISTS_GET_SUBLIST_END_LAST,`LAST`]],this.setHelpUrl(t.C.LISTS_GET_SUBLIST_HELPURL),this.setStyle(`list_blocks`),this.appendValueInput(`LIST`).setCheck(`Array`).appendField(t.C.LISTS_GET_SUBLIST_INPUT_IN_LIST).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_TO_CHECK);var e=e=>{var n=t.lh({type:`field_dropdown`,options:this[`WHERE_OPTIONS_`+e]});return n.setValidator(function(t){var n=this.getValue();t=t===`FROM_START`||t===`FROM_END`,t!==(n===`FROM_START`||n===`FROM_END`)&&this.getSourceBlock().updateAt_(e,t)}),n};this.appendDummyInput(`WHERE1_INPUT`).appendField(e(1),`WHERE1`),this.appendDummyInput(`AT1`),this.appendDummyInput(`WHERE2_INPUT`).appendField(e(2),`WHERE2`),this.appendDummyInput(`AT2`),t.C.LISTS_GET_SUBLIST_TAIL&&this.appendDummyInput(`TAIL`).appendField(t.C.LISTS_GET_SUBLIST_TAIL),this.setInputsInline(!0),this.setOutput(!0,`Array`),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(t.C.LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=t.rc(`mutation`),n=this.getInput(`AT1`)instanceof t.Nn;return e.setAttribute(`at1`,String(n)),n=this.getInput(`AT2`)instanceof t.Nn,e.setAttribute(`at2`,String(n)),e},domToMutation:function(e){var t=e.getAttribute(`at1`)===`true`;e=e.getAttribute(`at2`)===`true`,this.updateAt_(1,t),this.updateAt_(2,e)},saveExtraState:function(){return null},loadExtraState:function(){},updateAt_:function(e,n){this.removeInput(`AT`+e),this.removeInput(`ORDINAL`+e,!0),n?(this.appendValueInput(`AT`+e).setCheck(`Number`).setAriaLabelProvider(e===1?t.C.INPUT_LABEL_LISTS_START_POSITION:t.C.INPUT_LABEL_LISTS_END_POSITION),t.C.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput(`ORDINAL`+e).appendField(t.C.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput(`AT`+e),e===1&&(this.moveInputBefore(`AT1`,`WHERE2_INPUT`),this.getInput(`ORDINAL1`)&&this.moveInputBefore(`ORDINAL1`,`WHERE2_INPUT`)),t.C.LISTS_GET_SUBLIST_TAIL&&this.moveInputBefore(`TAIL`,null)}},D.lists_sort={init:function(){this.jsonInit({message0:`%{BKY_LISTS_SORT_TITLE}`,args0:[{type:`field_dropdown`,name:`TYPE`,options:[[`%{BKY_LISTS_SORT_TYPE_NUMERIC}`,`NUMERIC`],[`%{BKY_LISTS_SORT_TYPE_TEXT}`,`TEXT`],[`%{BKY_LISTS_SORT_TYPE_IGNORECASE}`,`IGNORE_CASE`]]},{type:`field_dropdown`,name:`DIRECTION`,options:[[`%{BKY_LISTS_SORT_ORDER_ASCENDING}`,`1`],[`%{BKY_LISTS_SORT_ORDER_DESCENDING}`,`-1`]]},{type:`input_value`,name:`LIST`,check:`Array`,ariaLabelText:t.C.INPUT_LABEL_LISTS_TO_CHANGE}],output:`Array`,style:`list_blocks`,tooltip:`%{BKY_LISTS_SORT_TOOLTIP}`,helpUrl:`%{BKY_LISTS_SORT_HELPURL}`})}},D.lists_split={init:function(){var e=t.lh({type:`field_dropdown`,options:[[t.C.LISTS_SPLIT_LIST_FROM_TEXT,`SPLIT`],[t.C.LISTS_SPLIT_TEXT_FROM_LIST,`JOIN`]]});if(!e)throw Error(`field_dropdown not found`);e.setValidator(e=>{this.updateType_(e)}),this.setHelpUrl(t.C.LISTS_SPLIT_HELPURL),this.setStyle(`list_blocks`),this.appendValueInput(`INPUT`).setCheck(`String`).appendField(e,`MODE`).setAriaLabelProvider(()=>{var e=this.getFieldValue(`MODE`);if(e===`SPLIT`)return t.C.INPUT_LABEL_LISTS_LIST_FROM_TEXT;if(e===`JOIN`)return t.C.INPUT_LABEL_LISTS_TEXT_FROM_LIST}),this.appendValueInput(`DELIM`).setCheck(`String`).appendField(t.C.INPUT_LABEL_LISTS_DELIMITER).setAriaLabelProvider(t.C.INPUT_LABEL_LISTS_SPLIT_WITH_DELIMITER),this.setInputsInline(!0),this.setOutput(!0,`Array`),this.setTooltip(()=>{var e=this.getFieldValue(`MODE`);if(e===`SPLIT`)return t.C.LISTS_SPLIT_TOOLTIP_SPLIT;if(e===`JOIN`)return t.C.LISTS_SPLIT_TOOLTIP_JOIN;throw Error(`Unknown mode: `+e)})},updateType_:function(e){if(this.getFieldValue(`MODE`)!==e){let e=this.getInput(`INPUT`).connection;e.setShadowDom(null);let t=e.targetBlock();t&&(e.disconnect(),t.isShadow()?t.dispose(!1):this.bumpNeighbours())}e===`SPLIT`?(this.outputConnection.setCheck(`Array`),this.getInput(`INPUT`).setCheck(`String`)):(this.outputConnection.setCheck(`String`),this.getInput(`INPUT`).setCheck(`Array`))},mutationToDom:function(){var e=t.rc(`mutation`);return e.setAttribute(`mode`,this.getFieldValue(`MODE`)),e},domToMutation:function(e){this.updateType_(e.getAttribute(`mode`))},saveExtraState:function(){return{mode:this.getFieldValue(`MODE`)}},loadExtraState:function(e){this.updateType_(e.mode)}},t.Ab(D);var ee={blocks:D};return t.__chunk_blocks={blocks:Object.assign({},D,w,x,y,m,u,c,o),lists:ee,logic:E,loops:C,math:b,procedures:v,texts:p,variables:l,variablesDynamic:s},t.__chunk_blocks.__namespace__=t,t.__chunk_blocks})}));a();var{blocks:ee,lists:te,logic:ne,loops:re,math:ie,procedures:ae,texts:oe,variables:se,variablesDynamic:ce}=e(D(),1).default,le=n(((e,t)=>{(function(n,r){if(typeof e==`object`)t.exports=r();else{var i=r();for(var a in i)n.Blockly.Msg[a]=i[a]}})(e,function(){var e=e||{Msg:Object.create(null)};return e.Msg.ADD_COMMENT=`Add Comment`,e.Msg.ALT_KEY=`Alt`,e.Msg.ANNOUNCE_MOVE_AFTER=`Moving %1 after %2.`,e.Msg.ANNOUNCE_MOVE_AROUND=`Moving %1 around %2.`,e.Msg.ANNOUNCE_MOVE_BEFORE=`Moving %1 before %2.`,e.Msg.ANNOUNCE_MOVE_CANCELED=`Canceled movement.`,e.Msg.ANNOUNCE_MOVE_INSIDE=`Moving %1 inside %2.`,e.Msg.ANNOUNCE_MOVE_OF=`%1 of %2`,e.Msg.ANNOUNCE_MOVE_TO=`Moving %1 to %2.`,e.Msg.ANNOUNCE_MOVE_WORKSPACE=`Moving %1 on workspace.`,e.Msg.ARIA_LABEL_ADD_ELSE_IF=`Add else if`,e.Msg.ARIA_LABEL_ADD_INPUT=`Add input`,e.Msg.ARIA_LABEL_ADD_LIST_ITEM=`Add list item`,e.Msg.ARIA_LABEL_ADD_TEXT=`Add text`,e.Msg.ARIA_LABEL_BUTTON=`button`,e.Msg.ARIA_LABEL_COMMENT=`Comment`,e.Msg.ARIA_LABEL_COMMENT_COLLAPSE=`Collapse Comment`,e.Msg.ARIA_LABEL_COMMENT_EXPAND=`Expand Comment`,e.Msg.ARIA_LABEL_FIELD_ANGLE=`%1 degrees`,e.Msg.ARIA_LABEL_HEADING=`heading`,e.Msg.ARIA_LABEL_REMOVE_ELSE_IF=`Remove else if`,e.Msg.ARIA_LABEL_REMOVE_INPUT=`Remove input`,e.Msg.ARIA_LABEL_REMOVE_LIST_ITEM=`Remove list item`,e.Msg.ARIA_LABEL_REMOVE_TEXT=`Remove text`,e.Msg.ARIA_LABEL_TRASH_EMPTY=`Trash, currently empty`,e.Msg.ARIA_TYPE_FIELD_ANGLE=`angle`,e.Msg.ARIA_TYPE_FIELD_BITMAP=`pixel image`,e.Msg.ARIA_TYPE_FIELD_CHECKBOX=`checkbox`,e.Msg.ARIA_TYPE_FIELD_COLOUR=`color`,e.Msg.ARIA_TYPE_FIELD_DATE=`date`,e.Msg.ARIA_TYPE_FIELD_DROPDOWN=`dropdown`,e.Msg.ARIA_TYPE_FIELD_GRID=`grid dropdown`,e.Msg.ARIA_TYPE_FIELD_IMAGE=`image`,e.Msg.ARIA_TYPE_FIELD_INPUT=`input`,e.Msg.ARIA_TYPE_FIELD_NUMBER=`number`,e.Msg.ARIA_TYPE_FIELD_TEXT_INPUT=`text`,e.Msg.ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT=`input name`,e.Msg.ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE=`function name`,e.Msg.BACKSPACE_KEY=`Backspace`,e.Msg.BLOCK_LABEL_BEGIN_PREFIX=`Begin %1`,e.Msg.BLOCK_LABEL_BEGIN_STACK=`Begin stack`,e.Msg.BLOCK_LABEL_COLLAPSED=`collapsed`,e.Msg.BLOCK_LABEL_CONTAINER=`container`,e.Msg.BLOCK_LABEL_DISABLED=`disabled`,e.Msg.BLOCK_LABEL_HAS_BRANCHES=`has %1 branches`,e.Msg.BLOCK_LABEL_HAS_INPUT=`has input`,e.Msg.BLOCK_LABEL_HAS_INPUTS=`has inputs`,e.Msg.BLOCK_LABEL_REPLACEABLE=`replaceable`,e.Msg.BLOCK_LABEL_STACK_BLOCKS=`%1 stack blocks`,e.Msg.BLOCK_LABEL_STATEMENT=`statement`,e.Msg.BLOCK_LABEL_TOOLBOX_CATEGORY=`%1 category`,e.Msg.BLOCK_LABEL_VALUE=`value`,e.Msg.BUBBLE_LABEL_COMMENT=`Comment: %1`,e.Msg.BUBBLE_LABEL_DEFAULT=`Bubble`,e.Msg.BUBBLE_LABEL_WARNING=`Warning: %1`,e.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE=`Can't delete the variable '%1' because it's part of the definition of the function '%2'`,e.Msg.CAPS_LOCK_KEY=`Caps Lock`,e.Msg.CHANGE_VALUE_TITLE=`Change value:`,e.Msg.CHROME_OS=`ChromeOS`,e.Msg.CLEAN_UP=`Clean up Blocks`,e.Msg.CLOSE=`Close`,e.Msg.CLOSE_BACKPACK=`Close backpack`,e.Msg.COLLAPSED_WARNINGS_WARNING=`Collapsed blocks contain warnings.`,e.Msg.COLLAPSE_ALL=`Collapse Blocks`,e.Msg.COLLAPSE_BLOCK=`Collapse Block`,e.Msg.COLOUR_BLEND_COLOUR1=`colour 1`,e.Msg.COLOUR_BLEND_COLOUR2=`colour 2`,e.Msg.COLOUR_BLEND_HELPURL=`https://meyerweb.com/eric/tools/color-blend/#:::rgbp`,e.Msg.COLOUR_BLEND_RATIO=`ratio`,e.Msg.COLOUR_BLEND_TITLE=`blend`,e.Msg.COLOUR_BLEND_TOOLTIP=`Blends two colours together with a given ratio (0.0 - 1.0).`,e.Msg.COLOUR_PICKER_HELPURL=`https://en.wikipedia.org/wiki/Color`,e.Msg.COLOUR_PICKER_TOOLTIP=`Choose a colour from the palette.`,e.Msg.COLOUR_RANDOM_HELPURL=`http://randomcolour.com`,e.Msg.COLOUR_RANDOM_TITLE=`random colour`,e.Msg.COLOUR_RANDOM_TOOLTIP=`Choose a colour at random.`,e.Msg.COLOUR_RGB_BLUE=`blue`,e.Msg.COLOUR_RGB_GREEN=`green`,e.Msg.COLOUR_RGB_HELPURL=`https://www.december.com/html/spec/colorpercompact.html`,e.Msg.COLOUR_RGB_RED=`red`,e.Msg.COLOUR_RGB_TITLE=`colour with`,e.Msg.COLOUR_RGB_TOOLTIP=`Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.`,e.Msg.COMMAND_KEY=`Command`,e.Msg.CONTEXT_MENU_KEY=`≣ Menu`,e.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#loop-termination-blocks`,e.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK=`break out of loop`,e.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE=`continue with next iteration of loop`,e.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK=`Break out of the containing loop.`,e.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE=`Skip the rest of this loop, and continue with the next iteration.`,e.Msg.CONTROLS_FLOW_STATEMENTS_WARNING=`Warning: This block may only be used within a loop.`,e.Msg.CONTROLS_FOREACH_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#for-each`,e.Msg.CONTROLS_FOREACH_TITLE=`for each item %1 in list %2`,e.Msg.CONTROLS_FOREACH_TOOLTIP=`For each item in a list, set the variable '%1' to the item, and then do some statements.`,e.Msg.CONTROLS_FOR_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#count-with`,e.Msg.CONTROLS_FOR_TITLE=`count with %1 from %2 to %3 by %4`,e.Msg.CONTROLS_FOR_TOOLTIP=`Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.`,e.Msg.CONTROLS_IF_ELSEIF_TOOLTIP=`Add a condition to the if block.`,e.Msg.CONTROLS_IF_ELSE_TOOLTIP=`Add a final, catch-all condition to the if block.`,e.Msg.CONTROLS_IF_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/IfElse`,e.Msg.CONTROLS_IF_IF_TOOLTIP=`Add, remove, or reorder sections to reconfigure this if block.`,e.Msg.CONTROLS_IF_MSG_ELSE=`else`,e.Msg.CONTROLS_IF_MSG_ELSEIF=`else if`,e.Msg.CONTROLS_IF_MSG_IF=`if`,e.Msg.CONTROLS_IF_TOOLTIP_1=`If a value is true, then do some statements.`,e.Msg.CONTROLS_IF_TOOLTIP_2=`If a value is true, then do the first block of statements. Otherwise, do the second block of statements.`,e.Msg.CONTROLS_IF_TOOLTIP_3=`If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.`,e.Msg.CONTROLS_IF_TOOLTIP_4=`If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.`,e.Msg.CONTROLS_REPEAT_HELPURL=`https://en.wikipedia.org/wiki/For_loop`,e.Msg.CONTROLS_REPEAT_INPUT_DO=`do`,e.Msg.CONTROLS_REPEAT_TITLE=`repeat %1 times`,e.Msg.CONTROLS_REPEAT_TOOLTIP=`Do some statements several times.`,e.Msg.CONTROLS_WHILEUNTIL_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Loops#repeat`,e.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL=`repeat until`,e.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE=`repeat while`,e.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL=`While a value is false, then do some statements.`,e.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE=`While a value is true, then do some statements.`,e.Msg.CONTROL_KEY=`Control`,e.Msg.COPY_ALL_TO_BACKPACK=`Copy All Blocks to Backpack`,e.Msg.COPY_SHORTCUT=`Copy`,e.Msg.COPY_TO_BACKPACK=`Copy to Backpack`,e.Msg.CURRENT_BLOCK_ANNOUNCEMENT=`Current block: %1`,e.Msg.CUT_SHORTCUT=`Cut`,e.Msg.DELETE_ALL_BLOCKS=`Delete all %1 blocks?`,e.Msg.DELETE_BLOCK=`Delete Block`,e.Msg.DELETE_KEY=`Delete`,e.Msg.DELETE_VARIABLE=`Delete the '%1' variable`,e.Msg.DELETE_VARIABLE_CONFIRMATION=`Delete %1 uses of the '%2' variable?`,e.Msg.DELETE_X_BLOCKS=`Delete %1 Blocks`,e.Msg.DIALOG_CANCEL=`Cancel`,e.Msg.DIALOG_OK=`OK`,e.Msg.DISABLE_BLOCK=`Disable Block`,e.Msg.DUPLICATE_BLOCK=`Duplicate`,e.Msg.DUPLICATE_COMMENT=`Duplicate Comment`,e.Msg.EDIT_BLOCK_CONTENTS=`Edit Block contents`,e.Msg.EMPTY_BACKPACK=`Empty Backpack`,e.Msg.ENABLE_BLOCK=`Enable Block`,e.Msg.END_KEY=`End`,e.Msg.ENTER_KEY=`Enter`,e.Msg.ESCAPE=`Escape`,e.Msg.EXPAND_ALL=`Expand Blocks`,e.Msg.EXPAND_BLOCK=`Expand Block`,e.Msg.EXTERNAL_INPUTS=`External Inputs`,e.Msg.FIELD_BITMAP_ARIA_VALUE=`%1 by %2, %3 pixels on`,e.Msg.FIELD_BITMAP_BUTTON_LABEL_CLEAR=`Clear`,e.Msg.FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE=`Randomize`,e.Msg.FIELD_BITMAP_PIXEL_LABEL=`%1, row %2, column %3`,e.Msg.FIELD_BITMAP_PIXEL_OFF=`off`,e.Msg.FIELD_BITMAP_PIXEL_ON=`on`,e.Msg.FIELD_LABEL_CHECKBOX_CHECKED=`Checked`,e.Msg.FIELD_LABEL_CHECKBOX_UNCHECKED=`Not checked`,e.Msg.FIELD_LABEL_EDIT_PREFIX=`Edit %1`,e.Msg.FIELD_LABEL_EMPTY=`empty`,e.Msg.FIELD_LABEL_OPTION_INDEX=`Option %1`,e.Msg.FIELD_LABEL_VARIABLE=`Variable '%1'`,e.Msg.FIELD_MULTILINEINPUT_FINISH_EDITING=`Finish editing`,e.Msg.FIELD_MULTILINEINPUT_NEW_LINE=`New line`,e.Msg.HELP=`Help`,e.Msg.HELP_PROMPT=`Press %1 for help on keyboard controls.`,e.Msg.HOME_KEY=`Home`,e.Msg.ICON_LABEL_COMMENT_CLOSED=`Open Comment`,e.Msg.ICON_LABEL_COMMENT_OPEN=`Close Comment`,e.Msg.ICON_LABEL_DEFAULT=`Icon`,e.Msg.ICON_LABEL_MUTATOR_CLOSED=`Edit this block`,e.Msg.ICON_LABEL_MUTATOR_OPEN=`Close block editor`,e.Msg.ICON_LABEL_WARNING_CLOSED=`Open Warning`,e.Msg.ICON_LABEL_WARNING_OPEN=`Close Warning`,e.Msg.INLINE_INPUTS=`Inline Inputs`,e.Msg.INPUT_LABEL_CONDITION=`condition`,e.Msg.INPUT_LABEL_CONDITION_A=`first condition`,e.Msg.INPUT_LABEL_CONDITION_B=`second condition`,e.Msg.INPUT_LABEL_EMPTY=`Empty`,e.Msg.INPUT_LABEL_END_STATEMENT=`End %1`,e.Msg.INPUT_LABEL_INDEX=`input %1`,e.Msg.INPUT_LABEL_LISTS_CREATE_WITH_ITEM=`value %1`,e.Msg.INPUT_LABEL_LISTS_DELIMITER=`delimiter`,e.Msg.INPUT_LABEL_LISTS_END_POSITION=`end position`,e.Msg.INPUT_LABEL_LISTS_LIST_FROM_TEXT=`text to split`,e.Msg.INPUT_LABEL_LISTS_POSITION=`position within list`,e.Msg.INPUT_LABEL_LISTS_REPEAT_ITEM=`value to repeat`,e.Msg.INPUT_LABEL_LISTS_REPEAT_NUM=`number of times to repeat`,e.Msg.INPUT_LABEL_LISTS_START_POSITION=`start position`,e.Msg.INPUT_LABEL_LISTS_TEXT_FROM_LIST=`list to join`,e.Msg.INPUT_LABEL_LISTS_TO_CHANGE=`list to change`,e.Msg.INPUT_LABEL_LISTS_TO_CHECK=`list to check`,e.Msg.INPUT_LABEL_LISTS_VALUE_TO_SET=`value to set`,e.Msg.INPUT_LABEL_LOOP_BY=`increment`,e.Msg.INPUT_LABEL_LOOP_FROM=`starting number`,e.Msg.INPUT_LABEL_LOOP_LIST=`list to iterate over`,e.Msg.INPUT_LABEL_LOOP_TIMES=`number of times to repeat`,e.Msg.INPUT_LABEL_LOOP_TO=`ending number`,e.Msg.INPUT_LABEL_MATH_CHANGE_BY=`amount to change by`,e.Msg.INPUT_LABEL_MATH_CONSTRAIN_VALUE=`number to constrain`,e.Msg.INPUT_LABEL_MATH_DIVIDEND=`dividend`,e.Msg.INPUT_LABEL_MATH_DIVISOR=`divisor`,e.Msg.INPUT_LABEL_NUMBER=`number`,e.Msg.INPUT_LABEL_NUMBER_A=`first number`,e.Msg.INPUT_LABEL_NUMBER_ATAN2_X=`x coordinate`,e.Msg.INPUT_LABEL_NUMBER_ATAN2_Y=`y coordinate`,e.Msg.INPUT_LABEL_NUMBER_B=`second number`,e.Msg.INPUT_LABEL_NUMBER_LIST=`list of numbers`,e.Msg.INPUT_LABEL_NUMBER_MAX=`maximum`,e.Msg.INPUT_LABEL_NUMBER_MIN=`minimum`,e.Msg.INPUT_LABEL_NUMBER_TO_CHECK=`number to check`,e.Msg.INPUT_LABEL_STATEMENT=`statement position`,e.Msg.INPUT_LABEL_TEXT_APPEND=`value to append`,e.Msg.INPUT_LABEL_TEXT_END_POSITION=`end position`,e.Msg.INPUT_LABEL_TEXT_JOIN_ITEM=`value %1`,e.Msg.INPUT_LABEL_TEXT_POSITION=`letter position`,e.Msg.INPUT_LABEL_TEXT_PROMPT_MESSAGE=`message`,e.Msg.INPUT_LABEL_TEXT_START_POSITION=`start position`,e.Msg.INPUT_LABEL_TEXT_TO_CHANGE=`text to change`,e.Msg.INPUT_LABEL_TEXT_TO_CHECK=`text to check`,e.Msg.INPUT_LABEL_TEXT_TO_FIND=`text to find`,e.Msg.INPUT_LABEL_TEXT_TO_REPLACE=`text to replace`,e.Msg.INPUT_LABEL_VALUE=`value position`,e.Msg.INPUT_LABEL_VALUE_A=`first value`,e.Msg.INPUT_LABEL_VALUE_B=`second value`,e.Msg.INPUT_LABEL_VARIABLES_SET=`value to set`,e.Msg.INSERT_KEY=`Insert`,e.Msg.KEYBOARD_NAV_BLOCK_NAVIGATION_HINT=`Use %1 to navigate inside of blocks.`,e.Msg.KEYBOARD_NAV_CONSTRAINED_MOVE_HINT=`Use the arrow keys to move, then %1 to accept the position.`,e.Msg.KEYBOARD_NAV_COPIED_HINT=`Copied. Press %1 to paste.`,e.Msg.KEYBOARD_NAV_CUT_HINT=`Cut. Press %1 to paste.`,e.Msg.KEYBOARD_NAV_FLYOUT_LABEL_HINT=`Use the arrow keys to navigate to a block, or press %1 to go to the next heading.`,e.Msg.KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT=`Hold %1 and use arrow keys to move freely, then %2 to accept the position.`,e.Msg.KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT=`Use the arrow keys to navigate.`,e.Msg.LINUX=`Linux`,e.Msg.LISTS_CREATE_EMPTY_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-empty-list`,e.Msg.LISTS_CREATE_EMPTY_TITLE=`create empty list`,e.Msg.LISTS_CREATE_EMPTY_TOOLTIP=`Returns a list, of length 0, containing no data records`,e.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD=`list`,e.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP=`Add, remove, or reorder sections to reconfigure this list block.`,e.Msg.LISTS_CREATE_WITH_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with`,e.Msg.LISTS_CREATE_WITH_INPUT_WITH=`create list with`,e.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP=`Add an item to the list.`,e.Msg.LISTS_CREATE_WITH_TOOLTIP=`Create a list with any number of items.`,e.Msg.LISTS_GET_INDEX_FIRST=`first`,e.Msg.LISTS_GET_INDEX_FROM_END=`# from end`,e.Msg.LISTS_GET_INDEX_FROM_START=`#`,e.Msg.LISTS_GET_INDEX_GET=`get`,e.Msg.LISTS_GET_INDEX_GET_REMOVE=`get and remove`,e.Msg.LISTS_GET_INDEX_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-items-from-a-list`,e.Msg.LISTS_GET_INDEX_LAST=`last`,e.Msg.LISTS_GET_INDEX_RANDOM=`random`,e.Msg.LISTS_GET_INDEX_REMOVE=`remove`,e.Msg.LISTS_GET_INDEX_TAIL=``,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST=`Returns the first item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM=`Returns the item at the specified position in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST=`Returns the last item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM=`Returns a random item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST=`Removes and returns the first item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM=`Removes and returns the item at the specified position in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST=`Removes and returns the last item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM=`Removes and returns a random item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST=`Removes the first item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM=`Removes the item at the specified position in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST=`Removes the last item in a list.`,e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM=`Removes a random item in a list.`,e.Msg.LISTS_GET_SUBLIST_END_FROM_END=`to # from end`,e.Msg.LISTS_GET_SUBLIST_END_FROM_START=`to #`,e.Msg.LISTS_GET_SUBLIST_END_LAST=`to last`,e.Msg.LISTS_GET_SUBLIST_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#getting-a-sublist`,e.Msg.LISTS_GET_SUBLIST_START_FIRST=`get sub-list from first`,e.Msg.LISTS_GET_SUBLIST_START_FROM_END=`get sub-list from # from end`,e.Msg.LISTS_GET_SUBLIST_START_FROM_START=`get sub-list from #`,e.Msg.LISTS_GET_SUBLIST_TAIL=``,e.Msg.LISTS_GET_SUBLIST_TOOLTIP=`Creates a copy of the specified portion of a list.`,e.Msg.LISTS_INDEX_FROM_END_TOOLTIP=`%1 is the last item.`,e.Msg.LISTS_INDEX_FROM_START_TOOLTIP=`%1 is the first item.`,e.Msg.LISTS_INDEX_OF_FIRST=`find first occurrence of item`,e.Msg.LISTS_INDEX_OF_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#finding-items-in-a-list`,e.Msg.LISTS_INDEX_OF_LAST=`find last occurrence of item`,e.Msg.LISTS_INDEX_OF_TOOLTIP=`Returns the index of the first/last occurrence of the item in the list. Returns %1 if item is not found.`,e.Msg.LISTS_INLIST=`in list`,e.Msg.LISTS_ISEMPTY_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#is-empty`,e.Msg.LISTS_ISEMPTY_TITLE=`%1 is empty`,e.Msg.LISTS_ISEMPTY_TOOLTIP=`Returns true if the list is empty.`,e.Msg.LISTS_LENGTH_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#length-of`,e.Msg.LISTS_LENGTH_TITLE=`length of %1`,e.Msg.LISTS_LENGTH_TOOLTIP=`Returns the length of a list.`,e.Msg.LISTS_REPEAT_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#create-list-with`,e.Msg.LISTS_REPEAT_TITLE=`create list with item %1 repeated %2 times`,e.Msg.LISTS_REPEAT_TOOLTIP=`Creates a list consisting of the given value repeated the specified number of times.`,e.Msg.LISTS_REVERSE_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#reversing-a-list`,e.Msg.LISTS_REVERSE_MESSAGE0=`reverse %1`,e.Msg.LISTS_REVERSE_TOOLTIP=`Reverse a copy of a list.`,e.Msg.LISTS_SET_INDEX_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#in-list--set`,e.Msg.LISTS_SET_INDEX_INPUT_TO=`as`,e.Msg.LISTS_SET_INDEX_INSERT=`insert at`,e.Msg.LISTS_SET_INDEX_SET=`set`,e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST=`Inserts the item at the start of a list.`,e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM=`Inserts the item at the specified position in a list.`,e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST=`Append the item to the end of a list.`,e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM=`Inserts the item randomly in a list.`,e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST=`Sets the first item in a list.`,e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM=`Sets the item at the specified position in a list.`,e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST=`Sets the last item in a list.`,e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM=`Sets a random item in a list.`,e.Msg.LISTS_SORT_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#sorting-a-list`,e.Msg.LISTS_SORT_ORDER_ASCENDING=`ascending`,e.Msg.LISTS_SORT_ORDER_DESCENDING=`descending`,e.Msg.LISTS_SORT_TITLE=`sort %1 %2 %3`,e.Msg.LISTS_SORT_TOOLTIP=`Sort a copy of a list.`,e.Msg.LISTS_SORT_TYPE_IGNORECASE=`alphabetic, ignore case`,e.Msg.LISTS_SORT_TYPE_NUMERIC=`numeric`,e.Msg.LISTS_SORT_TYPE_TEXT=`alphabetic`,e.Msg.LISTS_SPLIT_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Lists#splitting-strings-and-joining-lists`,e.Msg.LISTS_SPLIT_LIST_FROM_TEXT=`make list from text`,e.Msg.LISTS_SPLIT_TEXT_FROM_LIST=`make text from list`,e.Msg.LISTS_SPLIT_TOOLTIP_JOIN=`Join a list of texts into one text, separated by a delimiter.`,e.Msg.LISTS_SPLIT_TOOLTIP_SPLIT=`Split text into a list of texts, breaking at each delimiter.`,e.Msg.LISTS_SPLIT_WITH_DELIMITER=`with delimiter`,e.Msg.LOGIC_BOOLEAN_FALSE=`false`,e.Msg.LOGIC_BOOLEAN_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#values`,e.Msg.LOGIC_BOOLEAN_TOOLTIP=`Returns either true or false.`,e.Msg.LOGIC_BOOLEAN_TRUE=`true`,e.Msg.LOGIC_COMPARE_EQ_ARIA=`equals`,e.Msg.LOGIC_COMPARE_GTE_ARIA=`greater than or equal to`,e.Msg.LOGIC_COMPARE_GT_ARIA=`greater than`,e.Msg.LOGIC_COMPARE_HELPURL=`https://en.wikipedia.org/wiki/Inequality_(mathematics)`,e.Msg.LOGIC_COMPARE_LTE_ARIA=`less than or equal to`,e.Msg.LOGIC_COMPARE_LT_ARIA=`less than`,e.Msg.LOGIC_COMPARE_NEQ_ARIA=`not equals`,e.Msg.LOGIC_COMPARE_TOOLTIP_EQ=`Return true if both inputs equal each other.`,e.Msg.LOGIC_COMPARE_TOOLTIP_GT=`Return true if the first input is greater than the second input.`,e.Msg.LOGIC_COMPARE_TOOLTIP_GTE=`Return true if the first input is greater than or equal to the second input.`,e.Msg.LOGIC_COMPARE_TOOLTIP_LT=`Return true if the first input is smaller than the second input.`,e.Msg.LOGIC_COMPARE_TOOLTIP_LTE=`Return true if the first input is smaller than or equal to the second input.`,e.Msg.LOGIC_COMPARE_TOOLTIP_NEQ=`Return true if both inputs are not equal to each other.`,e.Msg.LOGIC_NEGATE_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#not`,e.Msg.LOGIC_NEGATE_TITLE=`not %1`,e.Msg.LOGIC_NEGATE_TOOLTIP=`Returns true if the input is false. Returns false if the input is true.`,e.Msg.LOGIC_NULL=`null`,e.Msg.LOGIC_NULL_HELPURL=`https://en.wikipedia.org/wiki/Nullable_type`,e.Msg.LOGIC_NULL_TOOLTIP=`Returns null.`,e.Msg.LOGIC_OPERATION_AND=`and`,e.Msg.LOGIC_OPERATION_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Logic#logical-operations`,e.Msg.LOGIC_OPERATION_OR=`or`,e.Msg.LOGIC_OPERATION_TOOLTIP_AND=`Return true if both inputs are true.`,e.Msg.LOGIC_OPERATION_TOOLTIP_OR=`Return true if at least one of the inputs is true.`,e.Msg.LOGIC_TERNARY_CONDITION=`test`,e.Msg.LOGIC_TERNARY_HELPURL=`https://en.wikipedia.org/wiki/%3F:`,e.Msg.LOGIC_TERNARY_IF_FALSE=`if false`,e.Msg.LOGIC_TERNARY_IF_TRUE=`if true`,e.Msg.LOGIC_TERNARY_TOOLTIP=`Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.`,e.Msg.MAC_OS=`macOS`,e.Msg.MATH_ADDITION_SYMBOL=`+`,e.Msg.MATH_ADDITION_SYMBOL_ARIA=`plus`,e.Msg.MATH_ARITHMETIC_HELPURL=`https://en.wikipedia.org/wiki/Arithmetic`,e.Msg.MATH_ARITHMETIC_TOOLTIP_ADD=`Return the sum of the two numbers.`,e.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE=`Return the quotient of the two numbers.`,e.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS=`Return the difference of the two numbers.`,e.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY=`Return the product of the two numbers.`,e.Msg.MATH_ARITHMETIC_TOOLTIP_POWER=`Return the first number raised to the power of the second number.`,e.Msg.MATH_ATAN2_HELPURL=`https://en.wikipedia.org/wiki/Atan2`,e.Msg.MATH_ATAN2_TITLE=`atan2 of X:%1 Y:%2`,e.Msg.MATH_ATAN2_TOOLTIP=`Return the arctangent of point (X, Y) in degrees from -180 to 180.`,e.Msg.MATH_CHANGE_HELPURL=`https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter`,e.Msg.MATH_CHANGE_TITLE=`change %1 by %2`,e.Msg.MATH_CHANGE_TOOLTIP=`Add a number to variable '%1'.`,e.Msg.MATH_CONSTANT_E_ARIA=`e`,e.Msg.MATH_CONSTANT_GOLDEN_RATIO_ARIA=`golden ratio`,e.Msg.MATH_CONSTANT_HELPURL=`https://en.wikipedia.org/wiki/Mathematical_constant`,e.Msg.MATH_CONSTANT_INFINITY_ARIA=`infinity`,e.Msg.MATH_CONSTANT_PI_ARIA=`pi`,e.Msg.MATH_CONSTANT_SQRT1_2_ARIA=`square root of 1 over 2`,e.Msg.MATH_CONSTANT_SQRT2_ARIA=`square root of 2`,e.Msg.MATH_CONSTANT_TOOLTIP=`Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).`,e.Msg.MATH_CONSTRAIN_HELPURL=`https://en.wikipedia.org/wiki/Clamping_(graphics)`,e.Msg.MATH_CONSTRAIN_TITLE=`constrain %1 low %2 high %3`,e.Msg.MATH_CONSTRAIN_TOOLTIP=`Constrain a number to be between the specified limits (inclusive).`,e.Msg.MATH_DIVISION_SYMBOL=`÷`,e.Msg.MATH_DIVISION_SYMBOL_ARIA=`divided by`,e.Msg.MATH_IS_DIVISIBLE_BY=`is divisible by`,e.Msg.MATH_IS_EVEN=`is even`,e.Msg.MATH_IS_NEGATIVE=`is negative`,e.Msg.MATH_IS_ODD=`is odd`,e.Msg.MATH_IS_POSITIVE=`is positive`,e.Msg.MATH_IS_PRIME=`is prime`,e.Msg.MATH_IS_TOOLTIP=`Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.`,e.Msg.MATH_IS_WHOLE=`is whole`,e.Msg.MATH_MODULO_HELPURL=`https://en.wikipedia.org/wiki/Modulo_operation`,e.Msg.MATH_MODULO_TITLE=`remainder of %1 ÷ %2`,e.Msg.MATH_MODULO_TOOLTIP=`Return the remainder from dividing the two numbers.`,e.Msg.MATH_MULTIPLICATION_SYMBOL=`×`,e.Msg.MATH_MULTIPLICATION_SYMBOL_ARIA=`times`,e.Msg.MATH_NUMBER_HELPURL=`https://en.wikipedia.org/wiki/Number`,e.Msg.MATH_NUMBER_TOOLTIP=`A number.`,e.Msg.MATH_ONLIST_HELPURL=``,e.Msg.MATH_ONLIST_OPERATOR_AVERAGE=`average of list`,e.Msg.MATH_ONLIST_OPERATOR_MAX=`max of list`,e.Msg.MATH_ONLIST_OPERATOR_MAX_ARIA=`maximum`,e.Msg.MATH_ONLIST_OPERATOR_MEDIAN=`median of list`,e.Msg.MATH_ONLIST_OPERATOR_MIN=`min of list`,e.Msg.MATH_ONLIST_OPERATOR_MIN_ARIA=`minimum`,e.Msg.MATH_ONLIST_OPERATOR_MODE=`modes of list`,e.Msg.MATH_ONLIST_OPERATOR_RANDOM=`random item of list`,e.Msg.MATH_ONLIST_OPERATOR_STD_DEV=`standard deviation of list`,e.Msg.MATH_ONLIST_OPERATOR_SUM=`sum of list`,e.Msg.MATH_ONLIST_TOOLTIP_AVERAGE=`Return the average (arithmetic mean) of the numeric values in the list.`,e.Msg.MATH_ONLIST_TOOLTIP_MAX=`Return the largest number in the list.`,e.Msg.MATH_ONLIST_TOOLTIP_MEDIAN=`Return the median number in the list.`,e.Msg.MATH_ONLIST_TOOLTIP_MIN=`Return the smallest number in the list.`,e.Msg.MATH_ONLIST_TOOLTIP_MODE=`Return a list of the most common item(s) in the list.`,e.Msg.MATH_ONLIST_TOOLTIP_RANDOM=`Return a random element from the list.`,e.Msg.MATH_ONLIST_TOOLTIP_STD_DEV=`Return the standard deviation of the list.`,e.Msg.MATH_ONLIST_TOOLTIP_SUM=`Return the sum of all the numbers in the list.`,e.Msg.MATH_POWER_SYMBOL=`^`,e.Msg.MATH_POWER_SYMBOL_ARIA=`to the power of`,e.Msg.MATH_RANDOM_FLOAT_HELPURL=`https://en.wikipedia.org/wiki/Random_number_generation`,e.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM=`random fraction`,e.Msg.MATH_RANDOM_FLOAT_TOOLTIP=`Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).`,e.Msg.MATH_RANDOM_INT_HELPURL=`https://en.wikipedia.org/wiki/Random_number_generation`,e.Msg.MATH_RANDOM_INT_TITLE=`random integer from %1 to %2`,e.Msg.MATH_RANDOM_INT_TOOLTIP=`Return a random integer between the two specified limits, inclusive.`,e.Msg.MATH_ROUND_HELPURL=`https://en.wikipedia.org/wiki/Rounding`,e.Msg.MATH_ROUND_OPERATOR_ROUND=`round`,e.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN=`round down`,e.Msg.MATH_ROUND_OPERATOR_ROUNDUP=`round up`,e.Msg.MATH_ROUND_TOOLTIP=`Round a number up or down.`,e.Msg.MATH_SINGLE_HELPURL=`https://en.wikipedia.org/wiki/Square_root`,e.Msg.MATH_SINGLE_OP_ABSOLUTE=`absolute`,e.Msg.MATH_SINGLE_OP_ABSOLUTE_ARIA=`absolute value`,e.Msg.MATH_SINGLE_OP_EXP_ARIA=`e to the power of`,e.Msg.MATH_SINGLE_OP_LN_ARIA=`natural logarithm`,e.Msg.MATH_SINGLE_OP_LOG10_ARIA=`base 10 logarithm`,e.Msg.MATH_SINGLE_OP_NEG_ARIA=`negative`,e.Msg.MATH_SINGLE_OP_POW10_ARIA=`10 to the power of`,e.Msg.MATH_SINGLE_OP_ROOT=`square root`,e.Msg.MATH_SINGLE_TOOLTIP_ABS=`Return the absolute value of a number.`,e.Msg.MATH_SINGLE_TOOLTIP_EXP=`Return e to the power of a number.`,e.Msg.MATH_SINGLE_TOOLTIP_LN=`Return the natural logarithm of a number.`,e.Msg.MATH_SINGLE_TOOLTIP_LOG10=`Return the base 10 logarithm of a number.`,e.Msg.MATH_SINGLE_TOOLTIP_NEG=`Return the negation of a number.`,e.Msg.MATH_SINGLE_TOOLTIP_POW10=`Return 10 to the power of a number.`,e.Msg.MATH_SINGLE_TOOLTIP_ROOT=`Return the square root of a number.`,e.Msg.MATH_SUBTRACTION_SYMBOL=`-`,e.Msg.MATH_SUBTRACTION_SYMBOL_ARIA=`minus`,e.Msg.MATH_TRIG_ACOS=`acos`,e.Msg.MATH_TRIG_ACOS_ARIA=`inverse cosine`,e.Msg.MATH_TRIG_ASIN=`asin`,e.Msg.MATH_TRIG_ASIN_ARIA=`inverse sine`,e.Msg.MATH_TRIG_ATAN=`atan`,e.Msg.MATH_TRIG_ATAN_ARIA=`inverse tangent`,e.Msg.MATH_TRIG_COS=`cos`,e.Msg.MATH_TRIG_COS_ARIA=`cosine`,e.Msg.MATH_TRIG_HELPURL=`https://en.wikipedia.org/wiki/Trigonometric_functions`,e.Msg.MATH_TRIG_SIN=`sin`,e.Msg.MATH_TRIG_SIN_ARIA=`sine`,e.Msg.MATH_TRIG_TAN=`tan`,e.Msg.MATH_TRIG_TAN_ARIA=`tangent`,e.Msg.MATH_TRIG_TOOLTIP_ACOS=`Return the arccosine of a number.`,e.Msg.MATH_TRIG_TOOLTIP_ASIN=`Return the arcsine of a number.`,e.Msg.MATH_TRIG_TOOLTIP_ATAN=`Return the arctangent of a number.`,e.Msg.MATH_TRIG_TOOLTIP_COS=`Return the cosine of a degree (not radian).`,e.Msg.MATH_TRIG_TOOLTIP_SIN=`Return the sine of a degree (not radian).`,e.Msg.MATH_TRIG_TOOLTIP_TAN=`Return the tangent of a degree (not radian).`,e.Msg.MINIMAP_ARIA_LABEL=`Workspace minimap. Use the arrow keys to pan the workspace.`,e.Msg.MOVE_BLOCK=`Move Block`,e.Msg.NEW_COLOUR_VARIABLE=`Create colour variable...`,e.Msg.NEW_NUMBER_VARIABLE=`Create number variable...`,e.Msg.NEW_STRING_VARIABLE=`Create string variable...`,e.Msg.NEW_VARIABLE=`Create variable...`,e.Msg.NEW_VARIABLE_TITLE=`New variable name:`,e.Msg.NEW_VARIABLE_TYPE_TITLE=`New variable type:`,e.Msg.NO_PARENT_ANNOUNCEMENT=`Current block has no parent`,e.Msg.OPEN_BACKPACK=`Open backpack`,e.Msg.OPEN_TRASH=`Open trash`,e.Msg.OPTION_KEY=`Option`,e.Msg.ORDINAL_NUMBER_SUFFIX=``,e.Msg.PAGE_DOWN_KEY=`Page Down`,e.Msg.PAGE_UP_KEY=`Page Up`,e.Msg.PARENT_BLOCKS_ANNOUNCEMENT=`Parent blocks: %1`,e.Msg.PASTE_ALL_FROM_BACKPACK=`Paste All Blocks from Backpack`,e.Msg.PASTE_SHORTCUT=`Paste`,e.Msg.PAUSE_KEY=`Pause`,e.Msg.PROCEDURES_ALLOW_STATEMENTS=`allow statements`,e.Msg.PROCEDURES_BEFORE_PARAMS=`with:`,e.Msg.PROCEDURES_CALLNORETURN_HELPURL=`https://en.wikipedia.org/wiki/Subroutine`,e.Msg.PROCEDURES_CALLNORETURN_TOOLTIP=`Run the user-defined function '%1'.`,e.Msg.PROCEDURES_CALLRETURN_HELPURL=`https://en.wikipedia.org/wiki/Subroutine`,e.Msg.PROCEDURES_CALLRETURN_TOOLTIP=`Run the user-defined function '%1' and use its output.`,e.Msg.PROCEDURES_CALL_BEFORE_PARAMS=`with:`,e.Msg.PROCEDURES_CALL_DISABLED_DEF_WARNING=`Can't run the user-defined function '%1' because the definition block is disabled.`,e.Msg.PROCEDURES_CREATE_DO=`Create '%1'`,e.Msg.PROCEDURES_DEFNORETURN_COMMENT=`Describe this function...`,e.Msg.PROCEDURES_DEFNORETURN_DO=``,e.Msg.PROCEDURES_DEFNORETURN_HELPURL=`https://en.wikipedia.org/wiki/Subroutine`,e.Msg.PROCEDURES_DEFNORETURN_PROCEDURE=`do something`,e.Msg.PROCEDURES_DEFNORETURN_TITLE=`to`,e.Msg.PROCEDURES_DEFNORETURN_TOOLTIP=`Creates a function with no output.`,e.Msg.PROCEDURES_DEFRETURN_HELPURL=`https://en.wikipedia.org/wiki/Subroutine`,e.Msg.PROCEDURES_DEFRETURN_RETURN=`return`,e.Msg.PROCEDURES_DEFRETURN_TOOLTIP=`Creates a function with an output.`,e.Msg.PROCEDURES_DEF_DUPLICATE_WARNING=`Warning: This function has duplicate parameters.`,e.Msg.PROCEDURES_HIGHLIGHT_DEF=`Highlight function definition`,e.Msg.PROCEDURES_IFRETURN_HELPURL=`https://c2.com/cgi/wiki?GuardClause`,e.Msg.PROCEDURES_IFRETURN_TOOLTIP=`If a value is true, then return a second value.`,e.Msg.PROCEDURES_IFRETURN_WARNING=`Warning: This block may be used only within a function definition.`,e.Msg.PROCEDURES_MUTATORARG_TITLE=`input name:`,e.Msg.PROCEDURES_MUTATORARG_TOOLTIP=`Add an input to the function.`,e.Msg.PROCEDURES_MUTATORCONTAINER_TITLE=`inputs`,e.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP=`Add, remove, or reorder inputs to this function.`,e.Msg.REDO=`Redo`,e.Msg.REMOVE_COMMENT=`Remove Comment`,e.Msg.REMOVE_FROM_BACKPACK=`Remove from Backpack`,e.Msg.RENAME_VARIABLE=`Rename the '%1' variable`,e.Msg.RENAME_VARIABLE_TITLE=`Rename all '%1' variables to:`,e.Msg.RESET_ZOOM=`Reset zoom`,e.Msg.SCREENREADER_HINT=`Use the arrow keys to navigate. Press %1 to toggle screenreader accessibility mode.`,e.Msg.SCREENREADER_MODE_DISABLED=`Screenreader mode is off, press %1 to turn it on`,e.Msg.SCREENREADER_MODE_ENABLED=`Screenreader mode is on, press %1 to turn it off`,e.Msg.SHIFT_KEY=`Shift`,e.Msg.SHORTCUTS_ABORT_MOVE=`Abort move`,e.Msg.SHORTCUTS_CLEANUP=`Clean up workspace`,e.Msg.SHORTCUTS_CODE_NAVIGATION=`Code navigation`,e.Msg.SHORTCUTS_DELETE=`Delete`,e.Msg.SHORTCUTS_DISCONNECT=`Disconnect block`,e.Msg.SHORTCUTS_DUPLICATE=`Duplicate`,e.Msg.SHORTCUTS_EDITING=`Editing`,e.Msg.SHORTCUTS_ESCAPE=`Exit`,e.Msg.SHORTCUTS_EXTENDED_INFORMATION=`Announce detailed information`,e.Msg.SHORTCUTS_FINISH_MOVE=`Finish move`,e.Msg.SHORTCUTS_FOCUS_TOOLBOX=`Focus toolbox`,e.Msg.SHORTCUTS_FOCUS_WORKSPACE=`Focus workspace`,e.Msg.SHORTCUTS_GENERAL=`General`,e.Msg.SHORTCUTS_INFORMATION=`Announce information`,e.Msg.SHORTCUTS_JUMP_BLOCK_END=`Jump to block end`,e.Msg.SHORTCUTS_JUMP_BLOCK_START=`Jump to block start`,e.Msg.SHORTCUTS_JUMP_BOTTOM_STACK=`Jump to bottom of stack`,e.Msg.SHORTCUTS_JUMP_FIRST_BLOCK=`Jump to first block`,e.Msg.SHORTCUTS_JUMP_LAST_BLOCK=`Jump to last block`,e.Msg.SHORTCUTS_JUMP_TOP_STACK=`Jump to top of stack`,e.Msg.SHORTCUTS_MOVE_DOWN=`Move down`,e.Msg.SHORTCUTS_MOVE_LEFT=`Move left`,e.Msg.SHORTCUTS_MOVE_RIGHT=`Move right`,e.Msg.SHORTCUTS_MOVE_UP=`Move up`,e.Msg.SHORTCUTS_NEXT_HEADING=`Next heading`,e.Msg.SHORTCUTS_NEXT_STACK=`Next stack`,e.Msg.SHORTCUTS_PERFORM_ACTION=`Edit or confirm`,e.Msg.SHORTCUTS_PREVIOUS_HEADING=`Previous heading`,e.Msg.SHORTCUTS_PREVIOUS_STACK=`Previous stack`,e.Msg.SHORTCUTS_SHOW_CONTEXT_MENU=`Show menu`,e.Msg.SHORTCUTS_SHOW_TOOLTIP=`Show tooltip`,e.Msg.SHORTCUTS_START_MOVE=`Start move`,e.Msg.SHORTCUTS_START_MOVE_STACK=`Start move stack`,e.Msg.SHORTCUTS_TOGGLE_SCREENREADER_MODE=`Toggle screenreader mode`,e.Msg.SPACE_KEY=`Space`,e.Msg.TAB_KEY=`Tab`,e.Msg.TEXT_APPEND_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification`,e.Msg.TEXT_APPEND_TITLE=`to %1 append text %2`,e.Msg.TEXT_APPEND_TOOLTIP=`Append some text to variable '%1'.`,e.Msg.TEXT_CHANGECASE_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#adjusting-text-case`,e.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE=`to lower case`,e.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE=`to Title Case`,e.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE=`to UPPER CASE`,e.Msg.TEXT_CHANGECASE_TOOLTIP=`Return a copy of the text in a different case.`,e.Msg.TEXT_CHARAT_FIRST=`get first letter`,e.Msg.TEXT_CHARAT_FROM_END=`get letter # from end`,e.Msg.TEXT_CHARAT_FROM_START=`get letter #`,e.Msg.TEXT_CHARAT_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-text`,e.Msg.TEXT_CHARAT_LAST=`get last letter`,e.Msg.TEXT_CHARAT_RANDOM=`get random letter`,e.Msg.TEXT_CHARAT_TAIL=``,e.Msg.TEXT_CHARAT_TITLE=`in text %1 %2`,e.Msg.TEXT_CHARAT_TOOLTIP=`Returns the letter at the specified position.`,e.Msg.TEXT_COUNT_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#counting-substrings`,e.Msg.TEXT_COUNT_MESSAGE0=`count %1 in %2`,e.Msg.TEXT_COUNT_TOOLTIP=`Count how many times some text occurs within some other text.`,e.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP=`Add an item to the text.`,e.Msg.TEXT_CREATE_JOIN_TITLE_JOIN=`join`,e.Msg.TEXT_CREATE_JOIN_TOOLTIP=`Add, remove, or reorder sections to reconfigure this text block.`,e.Msg.TEXT_FROM_END_ARIA=`letter number from end`,e.Msg.TEXT_FROM_START_ARIA=`letter number`,e.Msg.TEXT_GET_SUBSTRING_END_FROM_END=`to letter # from end`,e.Msg.TEXT_GET_SUBSTRING_END_FROM_START=`to letter #`,e.Msg.TEXT_GET_SUBSTRING_END_LAST=`to last letter`,e.Msg.TEXT_GET_SUBSTRING_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#extracting-a-region-of-text`,e.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT=`in text`,e.Msg.TEXT_GET_SUBSTRING_START_FIRST=`get substring from first letter`,e.Msg.TEXT_GET_SUBSTRING_START_FROM_END=`get substring from letter # from end`,e.Msg.TEXT_GET_SUBSTRING_START_FROM_START=`get substring from letter #`,e.Msg.TEXT_GET_SUBSTRING_TAIL=``,e.Msg.TEXT_GET_SUBSTRING_TOOLTIP=`Returns a specified portion of the text.`,e.Msg.TEXT_INDEXOF_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#finding-text`,e.Msg.TEXT_INDEXOF_OPERATOR_FIRST=`find first occurrence of text`,e.Msg.TEXT_INDEXOF_OPERATOR_LAST=`find last occurrence of text`,e.Msg.TEXT_INDEXOF_TITLE=`in text %1 %2 %3`,e.Msg.TEXT_INDEXOF_TOOLTIP=`Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.`,e.Msg.TEXT_ISEMPTY_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#checking-for-empty-text`,e.Msg.TEXT_ISEMPTY_TITLE=`%1 is empty`,e.Msg.TEXT_ISEMPTY_TOOLTIP=`Returns true if the provided text is empty.`,e.Msg.TEXT_JOIN_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-creation`,e.Msg.TEXT_JOIN_TITLE_CREATEWITH=`create text with`,e.Msg.TEXT_JOIN_TOOLTIP=`Create a piece of text by joining together any number of items.`,e.Msg.TEXT_LENGTH_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#text-modification`,e.Msg.TEXT_LENGTH_TITLE=`length of %1`,e.Msg.TEXT_LENGTH_TOOLTIP=`Returns the number of letters (including spaces) in the provided text.`,e.Msg.TEXT_PRINT_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#printing-text`,e.Msg.TEXT_PRINT_TITLE=`print %1`,e.Msg.TEXT_PRINT_TOOLTIP=`Print the specified text, number or other value.`,e.Msg.TEXT_PROMPT_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#getting-input-from-the-user`,e.Msg.TEXT_PROMPT_TOOLTIP_NUMBER=`Prompt for user for a number.`,e.Msg.TEXT_PROMPT_TOOLTIP_TEXT=`Prompt for user for some text.`,e.Msg.TEXT_PROMPT_TYPE_NUMBER=`prompt for number with message`,e.Msg.TEXT_PROMPT_TYPE_TEXT=`prompt for text with message`,e.Msg.TEXT_REPLACE_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#replacing-substrings`,e.Msg.TEXT_REPLACE_MESSAGE0=`replace %1 with %2 in %3`,e.Msg.TEXT_REPLACE_TOOLTIP=`Replace all occurances of some text within some other text.`,e.Msg.TEXT_REVERSE_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#reversing-text`,e.Msg.TEXT_REVERSE_MESSAGE0=`reverse %1`,e.Msg.TEXT_REVERSE_TOOLTIP=`Reverses the order of the characters in the text.`,e.Msg.TEXT_TEXT_HELPURL=`https://en.wikipedia.org/wiki/String_(computer_science)`,e.Msg.TEXT_TEXT_TOOLTIP=`A letter, word, or line of text.`,e.Msg.TEXT_TRIM_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Text#trimming-removing-spaces`,e.Msg.TEXT_TRIM_OPERATOR_BOTH=`trim spaces from both sides of`,e.Msg.TEXT_TRIM_OPERATOR_LEFT=`trim spaces from left side of`,e.Msg.TEXT_TRIM_OPERATOR_RIGHT=`trim spaces from right side of`,e.Msg.TEXT_TRIM_TOOLTIP=`Return a copy of the text with spaces removed from one or both ends.`,e.Msg.TODAY=`Today`,e.Msg.UNDO=`Undo`,e.Msg.UNKNOWN=`Unknown`,e.Msg.UNNAMED_KEY=`unnamed`,e.Msg.VARIABLES_DEFAULT_NAME=`item`,e.Msg.VARIABLES_GET_CREATE_SET=`Create 'set %1'`,e.Msg.VARIABLES_GET_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#get`,e.Msg.VARIABLES_GET_TOOLTIP=`Returns the value of this variable.`,e.Msg.VARIABLES_SET=`set %1 to %2`,e.Msg.VARIABLES_SET_CREATE_GET=`Create 'get %1'`,e.Msg.VARIABLES_SET_HELPURL=`https://github.com/RaspberryPiFoundation/blockly/wiki/Variables#set`,e.Msg.VARIABLES_SET_TOOLTIP=`Sets this variable to be equal to the input.`,e.Msg.VARIABLE_ALREADY_EXISTS=`A variable named '%1' already exists.`,e.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE=`A variable named '%1' already exists for another type: '%2'.`,e.Msg.VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER=`A variable named '%1' already exists as a parameter in the procedure '%2'.`,e.Msg.WINDOWS=`Windows`,e.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT=`Say something...`,e.Msg.WORKSPACE_CONTENTS_BLOCKS_MANY=`%1 stacks of blocks%2 in workspace.`,e.Msg.WORKSPACE_CONTENTS_BLOCKS_ONE=`One stack of blocks%2 in workspace.`,e.Msg.WORKSPACE_CONTENTS_BLOCKS_ZERO=`No blocks%2 in workspace.`,e.Msg.WORKSPACE_CONTENTS_COMMENTS_MANY=` and %1 comments`,e.Msg.WORKSPACE_CONTENTS_COMMENTS_ONE=` and one comment`,e.Msg.WORKSPACE_LABEL_1_STACK=`1 stack of blocks`,e.Msg.WORKSPACE_LABEL_FLYOUT_WORKSPACE=`%1 blocks`,e.Msg.WORKSPACE_LABEL_MANY_STACKS=`%1 stacks of blocks`,e.Msg.WORKSPACE_LABEL_MUTATOR_WORKSPACE=`Block editor workspace`,e.Msg.WORKSPACE_LABEL_PLAIN=`Blocks workspace.`,e.Msg.WORKSPACE_ROLEDESCRIPTION=`workspace`,e.Msg.ZOOM_IN=`Zoom in`,e.Msg.ZOOM_OUT=`Zoom out`,e.Msg.ZOOM_TO_FIT_ARIA_LABEL=`Zoom to fit`,e.Msg.CONTROLS_FOREACH_INPUT_DO=e.Msg.CONTROLS_REPEAT_INPUT_DO,e.Msg.CONTROLS_FOR_INPUT_DO=e.Msg.CONTROLS_REPEAT_INPUT_DO,e.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=e.Msg.CONTROLS_IF_MSG_ELSEIF,e.Msg.CONTROLS_IF_ELSE_TITLE_ELSE=e.Msg.CONTROLS_IF_MSG_ELSE,e.Msg.CONTROLS_IF_IF_TITLE_IF=e.Msg.CONTROLS_IF_MSG_IF,e.Msg.CONTROLS_IF_MSG_THEN=e.Msg.CONTROLS_REPEAT_INPUT_DO,e.Msg.CONTROLS_WHILEUNTIL_INPUT_DO=e.Msg.CONTROLS_REPEAT_INPUT_DO,e.Msg.LISTS_CREATE_WITH_ITEM_TITLE=e.Msg.VARIABLES_DEFAULT_NAME,e.Msg.LISTS_GET_INDEX_INPUT_IN_LIST=e.Msg.LISTS_INLIST,e.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST=e.Msg.LISTS_INLIST,e.Msg.LISTS_INDEX_OF_INPUT_IN_LIST=e.Msg.LISTS_INLIST,e.Msg.LISTS_SET_INDEX_INPUT_IN_LIST=e.Msg.LISTS_INLIST,e.Msg.MATH_CHANGE_TITLE_ITEM=e.Msg.VARIABLES_DEFAULT_NAME,e.Msg.PROCEDURES_DEFRETURN_COMMENT=e.Msg.PROCEDURES_DEFNORETURN_COMMENT,e.Msg.PROCEDURES_DEFRETURN_DO=e.Msg.PROCEDURES_DEFNORETURN_DO,e.Msg.PROCEDURES_DEFRETURN_PROCEDURE=e.Msg.PROCEDURES_DEFNORETURN_PROCEDURE,e.Msg.PROCEDURES_DEFRETURN_TITLE=e.Msg.PROCEDURES_DEFNORETURN_TITLE,e.Msg.TEXT_APPEND_VARIABLE=e.Msg.VARIABLES_DEFAULT_NAME,e.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=e.Msg.VARIABLES_DEFAULT_NAME,e.Msg.COLOUR_HUE=`20`,e.Msg.LISTS_HUE=`260`,e.Msg.LOGIC_HUE=`210`,e.Msg.LOOPS_HUE=`120`,e.Msg.MATH_HUE=`230`,e.Msg.PROCEDURES_HUE=`290`,e.Msg.TEXTS_HUE=`160`,e.Msg.VARIABLES_DYNAMIC_HUE=`310`,e.Msg.VARIABLES_HUE=`330`,e.Msg})})),ue=t({ADD_COMMENT:()=>M,ALT_KEY:()=>Ic,ANNOUNCE_MOVE_AFTER:()=>fd,ANNOUNCE_MOVE_AROUND:()=>md,ANNOUNCE_MOVE_BEFORE:()=>dd,ANNOUNCE_MOVE_CANCELED:()=>_d,ANNOUNCE_MOVE_INSIDE:()=>pd,ANNOUNCE_MOVE_OF:()=>gd,ANNOUNCE_MOVE_TO:()=>hd,ANNOUNCE_MOVE_WORKSPACE:()=>ud,ARIA_LABEL_ADD_ELSE_IF:()=>rf,ARIA_LABEL_ADD_INPUT:()=>uf,ARIA_LABEL_ADD_LIST_ITEM:()=>of,ARIA_LABEL_ADD_TEXT:()=>cf,ARIA_LABEL_BUTTON:()=>Id,ARIA_LABEL_COMMENT:()=>Jd,ARIA_LABEL_COMMENT_COLLAPSE:()=>Yd,ARIA_LABEL_COMMENT_EXPAND:()=>Xd,ARIA_LABEL_FIELD_ANGLE:()=>pf,ARIA_LABEL_HEADING:()=>Ld,ARIA_LABEL_REMOVE_ELSE_IF:()=>af,ARIA_LABEL_REMOVE_INPUT:()=>df,ARIA_LABEL_REMOVE_LIST_ITEM:()=>sf,ARIA_LABEL_REMOVE_TEXT:()=>lf,ARIA_LABEL_TRASH_EMPTY:()=>Ff,ARIA_TYPE_FIELD_ANGLE:()=>ff,ARIA_TYPE_FIELD_BITMAP:()=>gf,ARIA_TYPE_FIELD_CHECKBOX:()=>Ed,ARIA_TYPE_FIELD_COLOUR:()=>hf,ARIA_TYPE_FIELD_DATE:()=>mf,ARIA_TYPE_FIELD_DROPDOWN:()=>wd,ARIA_TYPE_FIELD_GRID:()=>_f,ARIA_TYPE_FIELD_IMAGE:()=>Td,ARIA_TYPE_FIELD_INPUT:()=>yd,ARIA_TYPE_FIELD_NUMBER:()=>xd,ARIA_TYPE_FIELD_TEXT_INPUT:()=>bd,ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT:()=>Cd,ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE:()=>Sd,BACKSPACE_KEY:()=>Rc,BLOCK_LABEL_BEGIN_PREFIX:()=>tu,BLOCK_LABEL_BEGIN_STACK:()=>eu,BLOCK_LABEL_COLLAPSED:()=>iu,BLOCK_LABEL_CONTAINER:()=>uu,BLOCK_LABEL_DISABLED:()=>ru,BLOCK_LABEL_HAS_BRANCHES:()=>cu,BLOCK_LABEL_HAS_INPUT:()=>ou,BLOCK_LABEL_HAS_INPUTS:()=>su,BLOCK_LABEL_REPLACEABLE:()=>au,BLOCK_LABEL_STACK_BLOCKS:()=>fu,BLOCK_LABEL_STATEMENT:()=>lu,BLOCK_LABEL_TOOLBOX_CATEGORY:()=>nu,BLOCK_LABEL_VALUE:()=>du,BUBBLE_LABEL_COMMENT:()=>zd,BUBBLE_LABEL_DEFAULT:()=>Rd,BUBBLE_LABEL_WARNING:()=>Bd,CANNOT_DELETE_VARIABLE_PROCEDURE:()=>Ye,CAPS_LOCK_KEY:()=>Uc,CHANGE_VALUE_TITLE:()=>Ie,CHROME_OS:()=>Ac,CLEAN_UP:()=>Te,CLOSE:()=>Ee,CLOSE_BACKPACK:()=>Tf,COLLAPSED_WARNINGS_WARNING:()=>Cc,COLLAPSE_ALL:()=>Oe,COLLAPSE_BLOCK:()=>De,COLOUR_BLEND_COLOUR1:()=>ut,COLOUR_BLEND_COLOUR2:()=>dt,COLOUR_BLEND_HELPURL:()=>ct,COLOUR_BLEND_RATIO:()=>ft,COLOUR_BLEND_TITLE:()=>lt,COLOUR_BLEND_TOOLTIP:()=>pt,COLOUR_HUE:()=>ge,COLOUR_PICKER_HELPURL:()=>Ze,COLOUR_PICKER_TOOLTIP:()=>Qe,COLOUR_RANDOM_HELPURL:()=>$e,COLOUR_RANDOM_TITLE:()=>et,COLOUR_RANDOM_TOOLTIP:()=>tt,COLOUR_RGB_BLUE:()=>ot,COLOUR_RGB_GREEN:()=>at,COLOUR_RGB_HELPURL:()=>nt,COLOUR_RGB_RED:()=>it,COLOUR_RGB_TITLE:()=>rt,COLOUR_RGB_TOOLTIP:()=>st,COMMAND_KEY:()=>Pc,CONTEXT_MENU_KEY:()=>Zc,CONTROLS_FLOW_STATEMENTS_HELPURL:()=>Mt,CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:()=>Nt,CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:()=>Pt,CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:()=>Ft,CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:()=>It,CONTROLS_FLOW_STATEMENTS_WARNING:()=>Lt,CONTROLS_FOREACH_HELPURL:()=>Ot,CONTROLS_FOREACH_INPUT_DO:()=>At,CONTROLS_FOREACH_TITLE:()=>kt,CONTROLS_FOREACH_TOOLTIP:()=>jt,CONTROLS_FOR_HELPURL:()=>wt,CONTROLS_FOR_INPUT_DO:()=>Dt,CONTROLS_FOR_TITLE:()=>Et,CONTROLS_FOR_TOOLTIP:()=>Tt,CONTROLS_IF_ELSEIF_TITLE_ELSEIF:()=>Yt,CONTROLS_IF_ELSEIF_TOOLTIP:()=>Xt,CONTROLS_IF_ELSE_TITLE_ELSE:()=>Zt,CONTROLS_IF_ELSE_TOOLTIP:()=>Qt,CONTROLS_IF_HELPURL:()=>Rt,CONTROLS_IF_IF_TITLE_IF:()=>qt,CONTROLS_IF_IF_TOOLTIP:()=>Jt,CONTROLS_IF_MSG_ELSE:()=>Gt,CONTROLS_IF_MSG_ELSEIF:()=>Wt,CONTROLS_IF_MSG_IF:()=>Ut,CONTROLS_IF_MSG_THEN:()=>Kt,CONTROLS_IF_TOOLTIP_1:()=>zt,CONTROLS_IF_TOOLTIP_2:()=>Bt,CONTROLS_IF_TOOLTIP_3:()=>Vt,CONTROLS_IF_TOOLTIP_4:()=>Ht,CONTROLS_REPEAT_HELPURL:()=>mt,CONTROLS_REPEAT_INPUT_DO:()=>gt,CONTROLS_REPEAT_TITLE:()=>ht,CONTROLS_REPEAT_TOOLTIP:()=>_t,CONTROLS_WHILEUNTIL_HELPURL:()=>vt,CONTROLS_WHILEUNTIL_INPUT_DO:()=>yt,CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:()=>xt,CONTROLS_WHILEUNTIL_OPERATOR_WHILE:()=>bt,CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:()=>Ct,CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:()=>St,CONTROL_KEY:()=>Nc,COPY_ALL_TO_BACKPACK:()=>Ef,COPY_SHORTCUT:()=>$c,COPY_TO_BACKPACK:()=>Df,CURRENT_BLOCK_ANNOUNCEMENT:()=>$d,CUT_SHORTCUT:()=>Qc,DELETE_ALL_BLOCKS:()=>we,DELETE_BLOCK:()=>Se,DELETE_KEY:()=>zc,DELETE_VARIABLE:()=>Xe,DELETE_VARIABLE_CONFIRMATION:()=>Je,DELETE_X_BLOCKS:()=>Ce,DIALOG_CANCEL:()=>Tc,DIALOG_OK:()=>wc,DISABLE_BLOCK:()=>je,DUPLICATE_BLOCK:()=>j,DUPLICATE_COMMENT:()=>P,EDIT_BLOCK_CONTENTS:()=>Ec,EMPTY_BACKPACK:()=>Of,ENABLE_BLOCK:()=>Me,END_KEY:()=>qc,ENTER_KEY:()=>Lc,ESCAPE:()=>Bc,EXPAND_ALL:()=>Ae,EXPAND_BLOCK:()=>ke,EXTERNAL_INPUTS:()=>be,FIELD_BITMAP_ARIA_VALUE:()=>Cf,FIELD_BITMAP_BUTTON_LABEL_CLEAR:()=>yf,FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE:()=>vf,FIELD_BITMAP_PIXEL_LABEL:()=>Sf,FIELD_BITMAP_PIXEL_OFF:()=>xf,FIELD_BITMAP_PIXEL_ON:()=>bf,FIELD_LABEL_CHECKBOX_CHECKED:()=>Nd,FIELD_LABEL_CHECKBOX_UNCHECKED:()=>Pd,FIELD_LABEL_EDIT_PREFIX:()=>Dd,FIELD_LABEL_EMPTY:()=>vd,FIELD_LABEL_OPTION_INDEX:()=>Md,FIELD_LABEL_VARIABLE:()=>Fd,FIELD_MULTILINEINPUT_FINISH_EDITING:()=>jf,FIELD_MULTILINEINPUT_NEW_LINE:()=>Mf,HELP:()=>Ne,HELP_PROMPT:()=>tl,HOME_KEY:()=>Jc,ICON_LABEL_COMMENT_CLOSED:()=>Hd,ICON_LABEL_COMMENT_OPEN:()=>Ud,ICON_LABEL_DEFAULT:()=>Vd,ICON_LABEL_MUTATOR_CLOSED:()=>Wd,ICON_LABEL_MUTATOR_OPEN:()=>Gd,ICON_LABEL_WARNING_CLOSED:()=>Kd,ICON_LABEL_WARNING_OPEN:()=>qd,INLINE_INPUTS:()=>xe,INPUT_LABEL_CONDITION:()=>vu,INPUT_LABEL_CONDITION_A:()=>yu,INPUT_LABEL_CONDITION_B:()=>bu,INPUT_LABEL_EMPTY:()=>_u,INPUT_LABEL_END_STATEMENT:()=>gu,INPUT_LABEL_INDEX:()=>pu,INPUT_LABEL_LISTS_CREATE_WITH_ITEM:()=>Qu,INPUT_LABEL_LISTS_DELIMITER:()=>cd,INPUT_LABEL_LISTS_END_POSITION:()=>ad,INPUT_LABEL_LISTS_LIST_FROM_TEXT:()=>od,INPUT_LABEL_LISTS_POSITION:()=>rd,INPUT_LABEL_LISTS_REPEAT_ITEM:()=>$u,INPUT_LABEL_LISTS_REPEAT_NUM:()=>ed,INPUT_LABEL_LISTS_START_POSITION:()=>id,INPUT_LABEL_LISTS_TEXT_FROM_LIST:()=>sd,INPUT_LABEL_LISTS_TO_CHANGE:()=>ld,INPUT_LABEL_LISTS_TO_CHECK:()=>td,INPUT_LABEL_LISTS_VALUE_TO_SET:()=>nd,INPUT_LABEL_LOOP_BY:()=>zu,INPUT_LABEL_LOOP_FROM:()=>Lu,INPUT_LABEL_LOOP_LIST:()=>Bu,INPUT_LABEL_LOOP_TIMES:()=>Iu,INPUT_LABEL_LOOP_TO:()=>Ru,INPUT_LABEL_MATH_CHANGE_BY:()=>Au,INPUT_LABEL_MATH_CONSTRAIN_VALUE:()=>ju,INPUT_LABEL_MATH_DIVIDEND:()=>Ou,INPUT_LABEL_MATH_DIVISOR:()=>ku,INPUT_LABEL_NUMBER:()=>Cu,INPUT_LABEL_NUMBER_A:()=>wu,INPUT_LABEL_NUMBER_ATAN2_X:()=>Pu,INPUT_LABEL_NUMBER_ATAN2_Y:()=>Fu,INPUT_LABEL_NUMBER_B:()=>Tu,INPUT_LABEL_NUMBER_LIST:()=>Du,INPUT_LABEL_NUMBER_MAX:()=>Nu,INPUT_LABEL_NUMBER_MIN:()=>Mu,INPUT_LABEL_NUMBER_TO_CHECK:()=>Eu,INPUT_LABEL_STATEMENT:()=>hu,INPUT_LABEL_TEXT_APPEND:()=>Hu,INPUT_LABEL_TEXT_END_POSITION:()=>Yu,INPUT_LABEL_TEXT_JOIN_ITEM:()=>Vu,INPUT_LABEL_TEXT_POSITION:()=>qu,INPUT_LABEL_TEXT_PROMPT_MESSAGE:()=>Xu,INPUT_LABEL_TEXT_START_POSITION:()=>Ju,INPUT_LABEL_TEXT_TO_CHANGE:()=>Uu,INPUT_LABEL_TEXT_TO_CHECK:()=>Wu,INPUT_LABEL_TEXT_TO_FIND:()=>Gu,INPUT_LABEL_TEXT_TO_REPLACE:()=>Ku,INPUT_LABEL_VALUE:()=>mu,INPUT_LABEL_VALUE_A:()=>xu,INPUT_LABEL_VALUE_B:()=>Su,INPUT_LABEL_VARIABLES_SET:()=>Zu,INSERT_KEY:()=>Yc,KEYBOARD_NAV_BLOCK_NAVIGATION_HINT:()=>Zl,KEYBOARD_NAV_CONSTRAINED_MOVE_HINT:()=>Ll,KEYBOARD_NAV_COPIED_HINT:()=>Rl,KEYBOARD_NAV_CUT_HINT:()=>zl,KEYBOARD_NAV_FLYOUT_LABEL_HINT:()=>$l,KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT:()=>Il,KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT:()=>Ql,LINUX:()=>jc,LISTS_CREATE_EMPTY_HELPURL:()=>to,LISTS_CREATE_EMPTY_TITLE:()=>no,LISTS_CREATE_EMPTY_TOOLTIP:()=>ro,LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:()=>so,LISTS_CREATE_WITH_CONTAINER_TOOLTIP:()=>co,LISTS_CREATE_WITH_HELPURL:()=>io,LISTS_CREATE_WITH_INPUT_WITH:()=>oo,LISTS_CREATE_WITH_ITEM_TITLE:()=>lo,LISTS_CREATE_WITH_ITEM_TOOLTIP:()=>uo,LISTS_CREATE_WITH_TOOLTIP:()=>ao,LISTS_GET_INDEX_FIRST:()=>No,LISTS_GET_INDEX_FROM_END:()=>Mo,LISTS_GET_INDEX_FROM_START:()=>jo,LISTS_GET_INDEX_GET:()=>Oo,LISTS_GET_INDEX_GET_REMOVE:()=>ko,LISTS_GET_INDEX_HELPURL:()=>Do,LISTS_GET_INDEX_INPUT_IN_LIST:()=>Lo,LISTS_GET_INDEX_LAST:()=>Po,LISTS_GET_INDEX_RANDOM:()=>Fo,LISTS_GET_INDEX_REMOVE:()=>Ao,LISTS_GET_INDEX_TAIL:()=>Io,LISTS_GET_INDEX_TOOLTIP_GET_FIRST:()=>Vo,LISTS_GET_INDEX_TOOLTIP_GET_FROM:()=>Bo,LISTS_GET_INDEX_TOOLTIP_GET_LAST:()=>Ho,LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:()=>Uo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:()=>Go,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:()=>Wo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:()=>Ko,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:()=>qo,LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:()=>Yo,LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:()=>Jo,LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:()=>Xo,LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:()=>Zo,LISTS_GET_SUBLIST_END_FROM_END:()=>gs,LISTS_GET_SUBLIST_END_FROM_START:()=>hs,LISTS_GET_SUBLIST_END_LAST:()=>_s,LISTS_GET_SUBLIST_HELPURL:()=>ds,LISTS_GET_SUBLIST_INPUT_IN_LIST:()=>fs,LISTS_GET_SUBLIST_START_FIRST:()=>ms,LISTS_GET_SUBLIST_START_FROM_END:()=>ps,LISTS_GET_SUBLIST_START_FROM_START:()=>F,LISTS_GET_SUBLIST_TAIL:()=>vs,LISTS_GET_SUBLIST_TOOLTIP:()=>ys,LISTS_HUE:()=>he,LISTS_INDEX_FROM_END_TOOLTIP:()=>zo,LISTS_INDEX_FROM_START_TOOLTIP:()=>Ro,LISTS_INDEX_OF_FIRST:()=>wo,LISTS_INDEX_OF_HELPURL:()=>So,LISTS_INDEX_OF_INPUT_IN_LIST:()=>Co,LISTS_INDEX_OF_LAST:()=>To,LISTS_INDEX_OF_TOOLTIP:()=>Eo,LISTS_INLIST:()=>xo,LISTS_ISEMPTY_HELPURL:()=>vo,LISTS_ISEMPTY_TITLE:()=>yo,LISTS_ISEMPTY_TOOLTIP:()=>bo,LISTS_LENGTH_HELPURL:()=>ho,LISTS_LENGTH_TITLE:()=>go,LISTS_LENGTH_TOOLTIP:()=>_o,LISTS_REPEAT_HELPURL:()=>fo,LISTS_REPEAT_TITLE:()=>mo,LISTS_REPEAT_TOOLTIP:()=>po,LISTS_REVERSE_HELPURL:()=>Ps,LISTS_REVERSE_MESSAGE0:()=>Fs,LISTS_REVERSE_TOOLTIP:()=>Is,LISTS_SET_INDEX_HELPURL:()=>Qo,LISTS_SET_INDEX_INPUT_IN_LIST:()=>$o,LISTS_SET_INDEX_INPUT_TO:()=>ns,LISTS_SET_INDEX_INSERT:()=>ts,LISTS_SET_INDEX_SET:()=>es,LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:()=>cs,LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:()=>ss,LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:()=>ls,LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:()=>us,LISTS_SET_INDEX_TOOLTIP_SET_FIRST:()=>is,LISTS_SET_INDEX_TOOLTIP_SET_FROM:()=>rs,LISTS_SET_INDEX_TOOLTIP_SET_LAST:()=>as,LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:()=>os,LISTS_SORT_HELPURL:()=>bs,LISTS_SORT_ORDER_ASCENDING:()=>Cs,LISTS_SORT_ORDER_DESCENDING:()=>ws,LISTS_SORT_TITLE:()=>xs,LISTS_SORT_TOOLTIP:()=>Ss,LISTS_SORT_TYPE_IGNORECASE:()=>Ds,LISTS_SORT_TYPE_NUMERIC:()=>Ts,LISTS_SORT_TYPE_TEXT:()=>Es,LISTS_SPLIT_HELPURL:()=>Os,LISTS_SPLIT_LIST_FROM_TEXT:()=>ks,LISTS_SPLIT_TEXT_FROM_LIST:()=>As,LISTS_SPLIT_TOOLTIP_JOIN:()=>Ns,LISTS_SPLIT_TOOLTIP_SPLIT:()=>Ms,LISTS_SPLIT_WITH_DELIMITER:()=>js,LOGIC_BOOLEAN_FALSE:()=>Cn,LOGIC_BOOLEAN_HELPURL:()=>xn,LOGIC_BOOLEAN_TOOLTIP:()=>wn,LOGIC_BOOLEAN_TRUE:()=>Sn,LOGIC_COMPARE_EQ_ARIA:()=>en,LOGIC_COMPARE_GTE_ARIA:()=>dn,LOGIC_COMPARE_GT_ARIA:()=>ln,LOGIC_COMPARE_HELPURL:()=>$t,LOGIC_COMPARE_LTE_ARIA:()=>sn,LOGIC_COMPARE_LT_ARIA:()=>an,LOGIC_COMPARE_NEQ_ARIA:()=>nn,LOGIC_COMPARE_TOOLTIP_EQ:()=>tn,LOGIC_COMPARE_TOOLTIP_GT:()=>un,LOGIC_COMPARE_TOOLTIP_GTE:()=>fn,LOGIC_COMPARE_TOOLTIP_LT:()=>on,LOGIC_COMPARE_TOOLTIP_LTE:()=>cn,LOGIC_COMPARE_TOOLTIP_NEQ:()=>rn,LOGIC_HUE:()=>de,LOGIC_NEGATE_HELPURL:()=>vn,LOGIC_NEGATE_TITLE:()=>yn,LOGIC_NEGATE_TOOLTIP:()=>bn,LOGIC_NULL:()=>En,LOGIC_NULL_HELPURL:()=>Tn,LOGIC_NULL_TOOLTIP:()=>Dn,LOGIC_OPERATION_AND:()=>hn,LOGIC_OPERATION_HELPURL:()=>pn,LOGIC_OPERATION_OR:()=>_n,LOGIC_OPERATION_TOOLTIP_AND:()=>mn,LOGIC_OPERATION_TOOLTIP_OR:()=>gn,LOGIC_TERNARY_CONDITION:()=>kn,LOGIC_TERNARY_HELPURL:()=>On,LOGIC_TERNARY_IF_FALSE:()=>jn,LOGIC_TERNARY_IF_TRUE:()=>An,LOGIC_TERNARY_TOOLTIP:()=>Mn,LOOPS_HUE:()=>fe,MAC_OS:()=>kc,MATH_ADDITION_SYMBOL:()=>Fn,MATH_ADDITION_SYMBOL_ARIA:()=>In,MATH_ARITHMETIC_HELPURL:()=>lr,MATH_ARITHMETIC_TOOLTIP_ADD:()=>ur,MATH_ARITHMETIC_TOOLTIP_DIVIDE:()=>pr,MATH_ARITHMETIC_TOOLTIP_MINUS:()=>dr,MATH_ARITHMETIC_TOOLTIP_MULTIPLY:()=>fr,MATH_ARITHMETIC_TOOLTIP_POWER:()=>mr,MATH_ATAN2_HELPURL:()=>Pi,MATH_ATAN2_TITLE:()=>Fi,MATH_ATAN2_TOOLTIP:()=>Ii,MATH_CHANGE_HELPURL:()=>Jr,MATH_CHANGE_TITLE:()=>Yr,MATH_CHANGE_TITLE_ITEM:()=>Xr,MATH_CHANGE_TOOLTIP:()=>Zr,MATH_CONSTANT_E_ARIA:()=>ir,MATH_CONSTANT_GOLDEN_RATIO_ARIA:()=>ar,MATH_CONSTANT_HELPURL:()=>Rr,MATH_CONSTANT_INFINITY_ARIA:()=>cr,MATH_CONSTANT_PI_ARIA:()=>rr,MATH_CONSTANT_SQRT1_2_ARIA:()=>sr,MATH_CONSTANT_SQRT2_ARIA:()=>or,MATH_CONSTANT_TOOLTIP:()=>zr,MATH_CONSTRAIN_HELPURL:()=>Ti,MATH_CONSTRAIN_TITLE:()=>Ei,MATH_CONSTRAIN_TOOLTIP:()=>Di,MATH_DIVISION_SYMBOL:()=>zn,MATH_DIVISION_SYMBOL_ARIA:()=>Bn,MATH_HUE:()=>pe,MATH_IS_DIVISIBLE_BY:()=>Kr,MATH_IS_EVEN:()=>Br,MATH_IS_NEGATIVE:()=>Gr,MATH_IS_ODD:()=>Vr,MATH_IS_POSITIVE:()=>Wr,MATH_IS_PRIME:()=>Hr,MATH_IS_TOOLTIP:()=>qr,MATH_IS_WHOLE:()=>Ur,MATH_MODULO_HELPURL:()=>Si,MATH_MODULO_TITLE:()=>Ci,MATH_MODULO_TOOLTIP:()=>wi,MATH_MULTIPLICATION_SYMBOL:()=>Vn,MATH_MULTIPLICATION_SYMBOL_ARIA:()=>Hn,MATH_NUMBER_HELPURL:()=>Nn,MATH_NUMBER_TOOLTIP:()=>Pn,MATH_ONLIST_HELPURL:()=>ri,MATH_ONLIST_OPERATOR_AVERAGE:()=>fi,MATH_ONLIST_OPERATOR_MAX:()=>li,MATH_ONLIST_OPERATOR_MAX_ARIA:()=>ui,MATH_ONLIST_OPERATOR_MEDIAN:()=>mi,MATH_ONLIST_OPERATOR_MIN:()=>oi,MATH_ONLIST_OPERATOR_MIN_ARIA:()=>si,MATH_ONLIST_OPERATOR_MODE:()=>gi,MATH_ONLIST_OPERATOR_RANDOM:()=>bi,MATH_ONLIST_OPERATOR_STD_DEV:()=>vi,MATH_ONLIST_OPERATOR_SUM:()=>ii,MATH_ONLIST_TOOLTIP_AVERAGE:()=>pi,MATH_ONLIST_TOOLTIP_MAX:()=>di,MATH_ONLIST_TOOLTIP_MEDIAN:()=>hi,MATH_ONLIST_TOOLTIP_MIN:()=>ci,MATH_ONLIST_TOOLTIP_MODE:()=>_i,MATH_ONLIST_TOOLTIP_RANDOM:()=>xi,MATH_ONLIST_TOOLTIP_STD_DEV:()=>yi,MATH_ONLIST_TOOLTIP_SUM:()=>ai,MATH_POWER_SYMBOL:()=>Un,MATH_POWER_SYMBOL_ARIA:()=>Wn,MATH_RANDOM_FLOAT_HELPURL:()=>ji,MATH_RANDOM_FLOAT_TITLE_RANDOM:()=>Mi,MATH_RANDOM_FLOAT_TOOLTIP:()=>Ni,MATH_RANDOM_INT_HELPURL:()=>Oi,MATH_RANDOM_INT_TITLE:()=>ki,MATH_RANDOM_INT_TOOLTIP:()=>Ai,MATH_ROUND_HELPURL:()=>Qr,MATH_ROUND_OPERATOR_ROUND:()=>ei,MATH_ROUND_OPERATOR_ROUNDDOWN:()=>ni,MATH_ROUND_OPERATOR_ROUNDUP:()=>ti,MATH_ROUND_TOOLTIP:()=>$r,MATH_SINGLE_HELPURL:()=>hr,MATH_SINGLE_OP_ABSOLUTE:()=>vr,MATH_SINGLE_OP_ABSOLUTE_ARIA:()=>yr,MATH_SINGLE_OP_EXP_ARIA:()=>wr,MATH_SINGLE_OP_LN_ARIA:()=>Sr,MATH_SINGLE_OP_LOG10_ARIA:()=>Cr,MATH_SINGLE_OP_NEG_ARIA:()=>xr,MATH_SINGLE_OP_POW10_ARIA:()=>Tr,MATH_SINGLE_OP_ROOT:()=>gr,MATH_SINGLE_TOOLTIP_ABS:()=>br,MATH_SINGLE_TOOLTIP_EXP:()=>kr,MATH_SINGLE_TOOLTIP_LN:()=>Dr,MATH_SINGLE_TOOLTIP_LOG10:()=>Or,MATH_SINGLE_TOOLTIP_NEG:()=>Er,MATH_SINGLE_TOOLTIP_POW10:()=>Ar,MATH_SINGLE_TOOLTIP_ROOT:()=>_r,MATH_SUBTRACTION_SYMBOL:()=>Ln,MATH_SUBTRACTION_SYMBOL_ARIA:()=>Rn,MATH_TRIG_ACOS:()=>$n,MATH_TRIG_ACOS_ARIA:()=>er,MATH_TRIG_ASIN:()=>Zn,MATH_TRIG_ASIN_ARIA:()=>Qn,MATH_TRIG_ATAN:()=>tr,MATH_TRIG_ATAN_ARIA:()=>nr,MATH_TRIG_COS:()=>qn,MATH_TRIG_COS_ARIA:()=>Jn,MATH_TRIG_HELPURL:()=>jr,MATH_TRIG_SIN:()=>Gn,MATH_TRIG_SIN_ARIA:()=>Kn,MATH_TRIG_TAN:()=>Yn,MATH_TRIG_TAN_ARIA:()=>Xn,MATH_TRIG_TOOLTIP_ACOS:()=>Ir,MATH_TRIG_TOOLTIP_ASIN:()=>Fr,MATH_TRIG_TOOLTIP_ATAN:()=>Lr,MATH_TRIG_TOOLTIP_COS:()=>Nr,MATH_TRIG_TOOLTIP_SIN:()=>Mr,MATH_TRIG_TOOLTIP_TAN:()=>Pr,MINIMAP_ARIA_LABEL:()=>Pf,MOVE_BLOCK:()=>Dc,NEW_COLOUR_VARIABLE:()=>He,NEW_NUMBER_VARIABLE:()=>Ve,NEW_STRING_VARIABLE:()=>Be,NEW_VARIABLE:()=>ze,NEW_VARIABLE_TITLE:()=>We,NEW_VARIABLE_TYPE_TITLE:()=>Ue,NO_PARENT_ANNOUNCEMENT:()=>tf,OPEN_BACKPACK:()=>wf,OPEN_TRASH:()=>Od,OPTION_KEY:()=>Fc,ORDINAL_NUMBER_SUFFIX:()=>Ls,PAGE_DOWN_KEY:()=>Kc,PAGE_UP_KEY:()=>Gc,PARENT_BLOCKS_ANNOUNCEMENT:()=>ef,PASTE_ALL_FROM_BACKPACK:()=>kf,PASTE_SHORTCUT:()=>el,PAUSE_KEY:()=>Xc,PROCEDURES_ALLOW_STATEMENTS:()=>sc,PROCEDURES_BEFORE_PARAMS:()=>Js,PROCEDURES_CALLNORETURN_HELPURL:()=>lc,PROCEDURES_CALLNORETURN_TOOLTIP:()=>uc,PROCEDURES_CALLRETURN_HELPURL:()=>dc,PROCEDURES_CALLRETURN_TOOLTIP:()=>fc,PROCEDURES_CALL_BEFORE_PARAMS:()=>Ys,PROCEDURES_CALL_DISABLED_DEF_WARNING:()=>Xs,PROCEDURES_CREATE_DO:()=>vc,PROCEDURES_DEFNORETURN_COMMENT:()=>$s,PROCEDURES_DEFNORETURN_DO:()=>Zs,PROCEDURES_DEFNORETURN_HELPURL:()=>Gs,PROCEDURES_DEFNORETURN_PROCEDURE:()=>qs,PROCEDURES_DEFNORETURN_TITLE:()=>Ks,PROCEDURES_DEFNORETURN_TOOLTIP:()=>Qs,PROCEDURES_DEFRETURN_COMMENT:()=>ic,PROCEDURES_DEFRETURN_DO:()=>rc,PROCEDURES_DEFRETURN_HELPURL:()=>ec,PROCEDURES_DEFRETURN_PROCEDURE:()=>nc,PROCEDURES_DEFRETURN_RETURN:()=>ac,PROCEDURES_DEFRETURN_TITLE:()=>tc,PROCEDURES_DEFRETURN_TOOLTIP:()=>oc,PROCEDURES_DEF_DUPLICATE_WARNING:()=>cc,PROCEDURES_HIGHLIGHT_DEF:()=>_c,PROCEDURES_HUE:()=>ye,PROCEDURES_IFRETURN_HELPURL:()=>bc,PROCEDURES_IFRETURN_TOOLTIP:()=>yc,PROCEDURES_IFRETURN_WARNING:()=>xc,PROCEDURES_MUTATORARG_TITLE:()=>hc,PROCEDURES_MUTATORARG_TOOLTIP:()=>gc,PROCEDURES_MUTATORCONTAINER_TITLE:()=>pc,PROCEDURES_MUTATORCONTAINER_TOOLTIP:()=>mc,REDO:()=>Fe,REMOVE_COMMENT:()=>N,REMOVE_FROM_BACKPACK:()=>Af,RENAME_VARIABLE:()=>Le,RENAME_VARIABLE_TITLE:()=>Re,RESET_ZOOM:()=>jd,SCREENREADER_HINT:()=>nf,SCREENREADER_MODE_DISABLED:()=>Qd,SCREENREADER_MODE_ENABLED:()=>Zd,SHIFT_KEY:()=>Hc,SHORTCUTS_ABORT_MOVE:()=>ml,SHORTCUTS_CLEANUP:()=>Dl,SHORTCUTS_CODE_NAVIGATION:()=>il,SHORTCUTS_DELETE:()=>ol,SHORTCUTS_DISCONNECT:()=>bl,SHORTCUTS_DUPLICATE:()=>El,SHORTCUTS_EDITING:()=>rl,SHORTCUTS_ESCAPE:()=>al,SHORTCUTS_EXTENDED_INFORMATION:()=>yl,SHORTCUTS_FINISH_MOVE:()=>pl,SHORTCUTS_FOCUS_TOOLBOX:()=>_l,SHORTCUTS_FOCUS_WORKSPACE:()=>gl,SHORTCUTS_GENERAL:()=>nl,SHORTCUTS_INFORMATION:()=>vl,SHORTCUTS_JUMP_BLOCK_END:()=>jl,SHORTCUTS_JUMP_BLOCK_START:()=>Al,SHORTCUTS_JUMP_BOTTOM_STACK:()=>Nl,SHORTCUTS_JUMP_FIRST_BLOCK:()=>Pl,SHORTCUTS_JUMP_LAST_BLOCK:()=>Fl,SHORTCUTS_JUMP_TOP_STACK:()=>Ml,SHORTCUTS_MOVE_DOWN:()=>fl,SHORTCUTS_MOVE_LEFT:()=>ll,SHORTCUTS_MOVE_RIGHT:()=>ul,SHORTCUTS_MOVE_UP:()=>dl,SHORTCUTS_NEXT_HEADING:()=>Cl,SHORTCUTS_NEXT_STACK:()=>xl,SHORTCUTS_PERFORM_ACTION:()=>Tl,SHORTCUTS_PREVIOUS_HEADING:()=>wl,SHORTCUTS_PREVIOUS_STACK:()=>Sl,SHORTCUTS_SHOW_CONTEXT_MENU:()=>hl,SHORTCUTS_SHOW_TOOLTIP:()=>Ol,SHORTCUTS_START_MOVE:()=>sl,SHORTCUTS_START_MOVE_STACK:()=>cl,SHORTCUTS_TOGGLE_SCREENREADER_MODE:()=>kl,SPACE_KEY:()=>Wc,TAB_KEY:()=>Vc,TEXTS_HUE:()=>me,TEXT_APPEND_HELPURL:()=>Ki,TEXT_APPEND_TITLE:()=>qi,TEXT_APPEND_TOOLTIP:()=>Yi,TEXT_APPEND_VARIABLE:()=>Ji,TEXT_CHANGECASE_HELPURL:()=>Oa,TEXT_CHANGECASE_OPERATOR_LOWERCASE:()=>ja,TEXT_CHANGECASE_OPERATOR_TITLECASE:()=>Ma,TEXT_CHANGECASE_OPERATOR_UPPERCASE:()=>Aa,TEXT_CHANGECASE_TOOLTIP:()=>ka,TEXT_CHARAT_FIRST:()=>pa,TEXT_CHARAT_FROM_END:()=>fa,TEXT_CHARAT_FROM_START:()=>da,TEXT_CHARAT_HELPURL:()=>la,TEXT_CHARAT_LAST:()=>ma,TEXT_CHARAT_RANDOM:()=>ha,TEXT_CHARAT_TAIL:()=>ga,TEXT_CHARAT_TITLE:()=>ua,TEXT_CHARAT_TOOLTIP:()=>_a,TEXT_COUNT_HELPURL:()=>qa,TEXT_COUNT_MESSAGE0:()=>Ka,TEXT_COUNT_TOOLTIP:()=>Ja,TEXT_CREATE_JOIN_ITEM_TITLE_ITEM:()=>Wi,TEXT_CREATE_JOIN_ITEM_TOOLTIP:()=>Gi,TEXT_CREATE_JOIN_TITLE_JOIN:()=>Hi,TEXT_CREATE_JOIN_TOOLTIP:()=>Ui,TEXT_FROM_END_ARIA:()=>ca,TEXT_FROM_START_ARIA:()=>sa,TEXT_GET_SUBSTRING_END_FROM_END:()=>Ta,TEXT_GET_SUBSTRING_END_FROM_START:()=>wa,TEXT_GET_SUBSTRING_END_LAST:()=>Ea,TEXT_GET_SUBSTRING_HELPURL:()=>ya,TEXT_GET_SUBSTRING_INPUT_IN_TEXT:()=>ba,TEXT_GET_SUBSTRING_START_FIRST:()=>Ca,TEXT_GET_SUBSTRING_START_FROM_END:()=>Sa,TEXT_GET_SUBSTRING_START_FROM_START:()=>xa,TEXT_GET_SUBSTRING_TAIL:()=>Da,TEXT_GET_SUBSTRING_TOOLTIP:()=>va,TEXT_INDEXOF_HELPURL:()=>na,TEXT_INDEXOF_OPERATOR_FIRST:()=>aa,TEXT_INDEXOF_OPERATOR_LAST:()=>oa,TEXT_INDEXOF_TITLE:()=>ia,TEXT_INDEXOF_TOOLTIP:()=>ra,TEXT_ISEMPTY_HELPURL:()=>$i,TEXT_ISEMPTY_TITLE:()=>ea,TEXT_ISEMPTY_TOOLTIP:()=>ta,TEXT_JOIN_HELPURL:()=>zi,TEXT_JOIN_TITLE_CREATEWITH:()=>Bi,TEXT_JOIN_TOOLTIP:()=>Vi,TEXT_LENGTH_HELPURL:()=>Xi,TEXT_LENGTH_TITLE:()=>Zi,TEXT_LENGTH_TOOLTIP:()=>Qi,TEXT_PRINT_HELPURL:()=>Ra,TEXT_PRINT_TITLE:()=>za,TEXT_PRINT_TOOLTIP:()=>Ba,TEXT_PROMPT_HELPURL:()=>Va,TEXT_PROMPT_TOOLTIP_NUMBER:()=>Wa,TEXT_PROMPT_TOOLTIP_TEXT:()=>Ga,TEXT_PROMPT_TYPE_NUMBER:()=>Ua,TEXT_PROMPT_TYPE_TEXT:()=>Ha,TEXT_REPLACE_HELPURL:()=>Xa,TEXT_REPLACE_MESSAGE0:()=>Ya,TEXT_REPLACE_TOOLTIP:()=>Za,TEXT_REVERSE_HELPURL:()=>$a,TEXT_REVERSE_MESSAGE0:()=>Qa,TEXT_REVERSE_TOOLTIP:()=>eo,TEXT_TEXT_HELPURL:()=>Li,TEXT_TEXT_TOOLTIP:()=>Ri,TEXT_TRIM_HELPURL:()=>Na,TEXT_TRIM_OPERATOR_BOTH:()=>Fa,TEXT_TRIM_OPERATOR_LEFT:()=>Ia,TEXT_TRIM_OPERATOR_RIGHT:()=>La,TEXT_TRIM_TOOLTIP:()=>Pa,TODAY:()=>A,UNDO:()=>Pe,UNKNOWN:()=>Mc,UNNAMED_KEY:()=>k,VARIABLES_DEFAULT_NAME:()=>O,VARIABLES_DYNAMIC_HUE:()=>ve,VARIABLES_GET_CREATE_SET:()=>Bs,VARIABLES_GET_HELPURL:()=>Rs,VARIABLES_GET_TOOLTIP:()=>zs,VARIABLES_HUE:()=>_e,VARIABLES_SET:()=>Hs,VARIABLES_SET_CREATE_GET:()=>Ws,VARIABLES_SET_HELPURL:()=>Vs,VARIABLES_SET_TOOLTIP:()=>Us,VARIABLE_ALREADY_EXISTS:()=>Ge,VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE:()=>Ke,VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER:()=>qe,WINDOWS:()=>Oc,WORKSPACE_COMMENT_DEFAULT_TEXT:()=>Sc,WORKSPACE_CONTENTS_BLOCKS_MANY:()=>Kl,WORKSPACE_CONTENTS_BLOCKS_ONE:()=>ql,WORKSPACE_CONTENTS_BLOCKS_ZERO:()=>Jl,WORKSPACE_CONTENTS_COMMENTS_MANY:()=>Yl,WORKSPACE_CONTENTS_COMMENTS_ONE:()=>Xl,WORKSPACE_LABEL_1_STACK:()=>Hl,WORKSPACE_LABEL_FLYOUT_WORKSPACE:()=>Gl,WORKSPACE_LABEL_MANY_STACKS:()=>Ul,WORKSPACE_LABEL_MUTATOR_WORKSPACE:()=>Wl,WORKSPACE_LABEL_PLAIN:()=>Bl,WORKSPACE_ROLEDESCRIPTION:()=>Vl,ZOOM_IN:()=>kd,ZOOM_OUT:()=>Ad,ZOOM_TO_FIT_ARIA_LABEL:()=>Nf}),{LOGIC_HUE:de,LOOPS_HUE:fe,MATH_HUE:pe,TEXTS_HUE:me,LISTS_HUE:he,COLOUR_HUE:ge,VARIABLES_HUE:_e,VARIABLES_DYNAMIC_HUE:ve,PROCEDURES_HUE:ye,VARIABLES_DEFAULT_NAME:O,UNNAMED_KEY:k,TODAY:A,DUPLICATE_BLOCK:j,ADD_COMMENT:M,REMOVE_COMMENT:N,DUPLICATE_COMMENT:P,EXTERNAL_INPUTS:be,INLINE_INPUTS:xe,DELETE_BLOCK:Se,DELETE_X_BLOCKS:Ce,DELETE_ALL_BLOCKS:we,CLEAN_UP:Te,CLOSE:Ee,COLLAPSE_BLOCK:De,COLLAPSE_ALL:Oe,EXPAND_BLOCK:ke,EXPAND_ALL:Ae,DISABLE_BLOCK:je,ENABLE_BLOCK:Me,HELP:Ne,UNDO:Pe,REDO:Fe,CHANGE_VALUE_TITLE:Ie,RENAME_VARIABLE:Le,RENAME_VARIABLE_TITLE:Re,NEW_VARIABLE:ze,NEW_STRING_VARIABLE:Be,NEW_NUMBER_VARIABLE:Ve,NEW_COLOUR_VARIABLE:He,NEW_VARIABLE_TYPE_TITLE:Ue,NEW_VARIABLE_TITLE:We,VARIABLE_ALREADY_EXISTS:Ge,VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE:Ke,VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER:qe,DELETE_VARIABLE_CONFIRMATION:Je,CANNOT_DELETE_VARIABLE_PROCEDURE:Ye,DELETE_VARIABLE:Xe,COLOUR_PICKER_HELPURL:Ze,COLOUR_PICKER_TOOLTIP:Qe,COLOUR_RANDOM_HELPURL:$e,COLOUR_RANDOM_TITLE:et,COLOUR_RANDOM_TOOLTIP:tt,COLOUR_RGB_HELPURL:nt,COLOUR_RGB_TITLE:rt,COLOUR_RGB_RED:it,COLOUR_RGB_GREEN:at,COLOUR_RGB_BLUE:ot,COLOUR_RGB_TOOLTIP:st,COLOUR_BLEND_HELPURL:ct,COLOUR_BLEND_TITLE:lt,COLOUR_BLEND_COLOUR1:ut,COLOUR_BLEND_COLOUR2:dt,COLOUR_BLEND_RATIO:ft,COLOUR_BLEND_TOOLTIP:pt,CONTROLS_REPEAT_HELPURL:mt,CONTROLS_REPEAT_TITLE:ht,CONTROLS_REPEAT_INPUT_DO:gt,CONTROLS_REPEAT_TOOLTIP:_t,CONTROLS_WHILEUNTIL_HELPURL:vt,CONTROLS_WHILEUNTIL_INPUT_DO:yt,CONTROLS_WHILEUNTIL_OPERATOR_WHILE:bt,CONTROLS_WHILEUNTIL_OPERATOR_UNTIL:xt,CONTROLS_WHILEUNTIL_TOOLTIP_WHILE:St,CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL:Ct,CONTROLS_FOR_HELPURL:wt,CONTROLS_FOR_TOOLTIP:Tt,CONTROLS_FOR_TITLE:Et,CONTROLS_FOR_INPUT_DO:Dt,CONTROLS_FOREACH_HELPURL:Ot,CONTROLS_FOREACH_TITLE:kt,CONTROLS_FOREACH_INPUT_DO:At,CONTROLS_FOREACH_TOOLTIP:jt,CONTROLS_FLOW_STATEMENTS_HELPURL:Mt,CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK:Nt,CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE:Pt,CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK:Ft,CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE:It,CONTROLS_FLOW_STATEMENTS_WARNING:Lt,CONTROLS_IF_HELPURL:Rt,CONTROLS_IF_TOOLTIP_1:zt,CONTROLS_IF_TOOLTIP_2:Bt,CONTROLS_IF_TOOLTIP_3:Vt,CONTROLS_IF_TOOLTIP_4:Ht,CONTROLS_IF_MSG_IF:Ut,CONTROLS_IF_MSG_ELSEIF:Wt,CONTROLS_IF_MSG_ELSE:Gt,CONTROLS_IF_MSG_THEN:Kt,CONTROLS_IF_IF_TITLE_IF:qt,CONTROLS_IF_IF_TOOLTIP:Jt,CONTROLS_IF_ELSEIF_TITLE_ELSEIF:Yt,CONTROLS_IF_ELSEIF_TOOLTIP:Xt,CONTROLS_IF_ELSE_TITLE_ELSE:Zt,CONTROLS_IF_ELSE_TOOLTIP:Qt,LOGIC_COMPARE_HELPURL:$t,LOGIC_COMPARE_EQ_ARIA:en,LOGIC_COMPARE_TOOLTIP_EQ:tn,LOGIC_COMPARE_NEQ_ARIA:nn,LOGIC_COMPARE_TOOLTIP_NEQ:rn,LOGIC_COMPARE_LT_ARIA:an,LOGIC_COMPARE_TOOLTIP_LT:on,LOGIC_COMPARE_LTE_ARIA:sn,LOGIC_COMPARE_TOOLTIP_LTE:cn,LOGIC_COMPARE_GT_ARIA:ln,LOGIC_COMPARE_TOOLTIP_GT:un,LOGIC_COMPARE_GTE_ARIA:dn,LOGIC_COMPARE_TOOLTIP_GTE:fn,LOGIC_OPERATION_HELPURL:pn,LOGIC_OPERATION_TOOLTIP_AND:mn,LOGIC_OPERATION_AND:hn,LOGIC_OPERATION_TOOLTIP_OR:gn,LOGIC_OPERATION_OR:_n,LOGIC_NEGATE_HELPURL:vn,LOGIC_NEGATE_TITLE:yn,LOGIC_NEGATE_TOOLTIP:bn,LOGIC_BOOLEAN_HELPURL:xn,LOGIC_BOOLEAN_TRUE:Sn,LOGIC_BOOLEAN_FALSE:Cn,LOGIC_BOOLEAN_TOOLTIP:wn,LOGIC_NULL_HELPURL:Tn,LOGIC_NULL:En,LOGIC_NULL_TOOLTIP:Dn,LOGIC_TERNARY_HELPURL:On,LOGIC_TERNARY_CONDITION:kn,LOGIC_TERNARY_IF_TRUE:An,LOGIC_TERNARY_IF_FALSE:jn,LOGIC_TERNARY_TOOLTIP:Mn,MATH_NUMBER_HELPURL:Nn,MATH_NUMBER_TOOLTIP:Pn,MATH_ADDITION_SYMBOL:Fn,MATH_ADDITION_SYMBOL_ARIA:In,MATH_SUBTRACTION_SYMBOL:Ln,MATH_SUBTRACTION_SYMBOL_ARIA:Rn,MATH_DIVISION_SYMBOL:zn,MATH_DIVISION_SYMBOL_ARIA:Bn,MATH_MULTIPLICATION_SYMBOL:Vn,MATH_MULTIPLICATION_SYMBOL_ARIA:Hn,MATH_POWER_SYMBOL:Un,MATH_POWER_SYMBOL_ARIA:Wn,MATH_TRIG_SIN:Gn,MATH_TRIG_SIN_ARIA:Kn,MATH_TRIG_COS:qn,MATH_TRIG_COS_ARIA:Jn,MATH_TRIG_TAN:Yn,MATH_TRIG_TAN_ARIA:Xn,MATH_TRIG_ASIN:Zn,MATH_TRIG_ASIN_ARIA:Qn,MATH_TRIG_ACOS:$n,MATH_TRIG_ACOS_ARIA:er,MATH_TRIG_ATAN:tr,MATH_TRIG_ATAN_ARIA:nr,MATH_CONSTANT_PI_ARIA:rr,MATH_CONSTANT_E_ARIA:ir,MATH_CONSTANT_GOLDEN_RATIO_ARIA:ar,MATH_CONSTANT_SQRT2_ARIA:or,MATH_CONSTANT_SQRT1_2_ARIA:sr,MATH_CONSTANT_INFINITY_ARIA:cr,MATH_ARITHMETIC_HELPURL:lr,MATH_ARITHMETIC_TOOLTIP_ADD:ur,MATH_ARITHMETIC_TOOLTIP_MINUS:dr,MATH_ARITHMETIC_TOOLTIP_MULTIPLY:fr,MATH_ARITHMETIC_TOOLTIP_DIVIDE:pr,MATH_ARITHMETIC_TOOLTIP_POWER:mr,MATH_SINGLE_HELPURL:hr,MATH_SINGLE_OP_ROOT:gr,MATH_SINGLE_TOOLTIP_ROOT:_r,MATH_SINGLE_OP_ABSOLUTE:vr,MATH_SINGLE_OP_ABSOLUTE_ARIA:yr,MATH_SINGLE_TOOLTIP_ABS:br,MATH_SINGLE_OP_NEG_ARIA:xr,MATH_SINGLE_OP_LN_ARIA:Sr,MATH_SINGLE_OP_LOG10_ARIA:Cr,MATH_SINGLE_OP_EXP_ARIA:wr,MATH_SINGLE_OP_POW10_ARIA:Tr,MATH_SINGLE_TOOLTIP_NEG:Er,MATH_SINGLE_TOOLTIP_LN:Dr,MATH_SINGLE_TOOLTIP_LOG10:Or,MATH_SINGLE_TOOLTIP_EXP:kr,MATH_SINGLE_TOOLTIP_POW10:Ar,MATH_TRIG_HELPURL:jr,MATH_TRIG_TOOLTIP_SIN:Mr,MATH_TRIG_TOOLTIP_COS:Nr,MATH_TRIG_TOOLTIP_TAN:Pr,MATH_TRIG_TOOLTIP_ASIN:Fr,MATH_TRIG_TOOLTIP_ACOS:Ir,MATH_TRIG_TOOLTIP_ATAN:Lr,MATH_CONSTANT_HELPURL:Rr,MATH_CONSTANT_TOOLTIP:zr,MATH_IS_EVEN:Br,MATH_IS_ODD:Vr,MATH_IS_PRIME:Hr,MATH_IS_WHOLE:Ur,MATH_IS_POSITIVE:Wr,MATH_IS_NEGATIVE:Gr,MATH_IS_DIVISIBLE_BY:Kr,MATH_IS_TOOLTIP:qr,MATH_CHANGE_HELPURL:Jr,MATH_CHANGE_TITLE:Yr,MATH_CHANGE_TITLE_ITEM:Xr,MATH_CHANGE_TOOLTIP:Zr,MATH_ROUND_HELPURL:Qr,MATH_ROUND_TOOLTIP:$r,MATH_ROUND_OPERATOR_ROUND:ei,MATH_ROUND_OPERATOR_ROUNDUP:ti,MATH_ROUND_OPERATOR_ROUNDDOWN:ni,MATH_ONLIST_HELPURL:ri,MATH_ONLIST_OPERATOR_SUM:ii,MATH_ONLIST_TOOLTIP_SUM:ai,MATH_ONLIST_OPERATOR_MIN:oi,MATH_ONLIST_OPERATOR_MIN_ARIA:si,MATH_ONLIST_TOOLTIP_MIN:ci,MATH_ONLIST_OPERATOR_MAX:li,MATH_ONLIST_OPERATOR_MAX_ARIA:ui,MATH_ONLIST_TOOLTIP_MAX:di,MATH_ONLIST_OPERATOR_AVERAGE:fi,MATH_ONLIST_TOOLTIP_AVERAGE:pi,MATH_ONLIST_OPERATOR_MEDIAN:mi,MATH_ONLIST_TOOLTIP_MEDIAN:hi,MATH_ONLIST_OPERATOR_MODE:gi,MATH_ONLIST_TOOLTIP_MODE:_i,MATH_ONLIST_OPERATOR_STD_DEV:vi,MATH_ONLIST_TOOLTIP_STD_DEV:yi,MATH_ONLIST_OPERATOR_RANDOM:bi,MATH_ONLIST_TOOLTIP_RANDOM:xi,MATH_MODULO_HELPURL:Si,MATH_MODULO_TITLE:Ci,MATH_MODULO_TOOLTIP:wi,MATH_CONSTRAIN_HELPURL:Ti,MATH_CONSTRAIN_TITLE:Ei,MATH_CONSTRAIN_TOOLTIP:Di,MATH_RANDOM_INT_HELPURL:Oi,MATH_RANDOM_INT_TITLE:ki,MATH_RANDOM_INT_TOOLTIP:Ai,MATH_RANDOM_FLOAT_HELPURL:ji,MATH_RANDOM_FLOAT_TITLE_RANDOM:Mi,MATH_RANDOM_FLOAT_TOOLTIP:Ni,MATH_ATAN2_HELPURL:Pi,MATH_ATAN2_TITLE:Fi,MATH_ATAN2_TOOLTIP:Ii,TEXT_TEXT_HELPURL:Li,TEXT_TEXT_TOOLTIP:Ri,TEXT_JOIN_HELPURL:zi,TEXT_JOIN_TITLE_CREATEWITH:Bi,TEXT_JOIN_TOOLTIP:Vi,TEXT_CREATE_JOIN_TITLE_JOIN:Hi,TEXT_CREATE_JOIN_TOOLTIP:Ui,TEXT_CREATE_JOIN_ITEM_TITLE_ITEM:Wi,TEXT_CREATE_JOIN_ITEM_TOOLTIP:Gi,TEXT_APPEND_HELPURL:Ki,TEXT_APPEND_TITLE:qi,TEXT_APPEND_VARIABLE:Ji,TEXT_APPEND_TOOLTIP:Yi,TEXT_LENGTH_HELPURL:Xi,TEXT_LENGTH_TITLE:Zi,TEXT_LENGTH_TOOLTIP:Qi,TEXT_ISEMPTY_HELPURL:$i,TEXT_ISEMPTY_TITLE:ea,TEXT_ISEMPTY_TOOLTIP:ta,TEXT_INDEXOF_HELPURL:na,TEXT_INDEXOF_TOOLTIP:ra,TEXT_INDEXOF_TITLE:ia,TEXT_INDEXOF_OPERATOR_FIRST:aa,TEXT_INDEXOF_OPERATOR_LAST:oa,TEXT_FROM_START_ARIA:sa,TEXT_FROM_END_ARIA:ca,TEXT_CHARAT_HELPURL:la,TEXT_CHARAT_TITLE:ua,TEXT_CHARAT_FROM_START:da,TEXT_CHARAT_FROM_END:fa,TEXT_CHARAT_FIRST:pa,TEXT_CHARAT_LAST:ma,TEXT_CHARAT_RANDOM:ha,TEXT_CHARAT_TAIL:ga,TEXT_CHARAT_TOOLTIP:_a,TEXT_GET_SUBSTRING_TOOLTIP:va,TEXT_GET_SUBSTRING_HELPURL:ya,TEXT_GET_SUBSTRING_INPUT_IN_TEXT:ba,TEXT_GET_SUBSTRING_START_FROM_START:xa,TEXT_GET_SUBSTRING_START_FROM_END:Sa,TEXT_GET_SUBSTRING_START_FIRST:Ca,TEXT_GET_SUBSTRING_END_FROM_START:wa,TEXT_GET_SUBSTRING_END_FROM_END:Ta,TEXT_GET_SUBSTRING_END_LAST:Ea,TEXT_GET_SUBSTRING_TAIL:Da,TEXT_CHANGECASE_HELPURL:Oa,TEXT_CHANGECASE_TOOLTIP:ka,TEXT_CHANGECASE_OPERATOR_UPPERCASE:Aa,TEXT_CHANGECASE_OPERATOR_LOWERCASE:ja,TEXT_CHANGECASE_OPERATOR_TITLECASE:Ma,TEXT_TRIM_HELPURL:Na,TEXT_TRIM_TOOLTIP:Pa,TEXT_TRIM_OPERATOR_BOTH:Fa,TEXT_TRIM_OPERATOR_LEFT:Ia,TEXT_TRIM_OPERATOR_RIGHT:La,TEXT_PRINT_HELPURL:Ra,TEXT_PRINT_TITLE:za,TEXT_PRINT_TOOLTIP:Ba,TEXT_PROMPT_HELPURL:Va,TEXT_PROMPT_TYPE_TEXT:Ha,TEXT_PROMPT_TYPE_NUMBER:Ua,TEXT_PROMPT_TOOLTIP_NUMBER:Wa,TEXT_PROMPT_TOOLTIP_TEXT:Ga,TEXT_COUNT_MESSAGE0:Ka,TEXT_COUNT_HELPURL:qa,TEXT_COUNT_TOOLTIP:Ja,TEXT_REPLACE_MESSAGE0:Ya,TEXT_REPLACE_HELPURL:Xa,TEXT_REPLACE_TOOLTIP:Za,TEXT_REVERSE_MESSAGE0:Qa,TEXT_REVERSE_HELPURL:$a,TEXT_REVERSE_TOOLTIP:eo,LISTS_CREATE_EMPTY_HELPURL:to,LISTS_CREATE_EMPTY_TITLE:no,LISTS_CREATE_EMPTY_TOOLTIP:ro,LISTS_CREATE_WITH_HELPURL:io,LISTS_CREATE_WITH_TOOLTIP:ao,LISTS_CREATE_WITH_INPUT_WITH:oo,LISTS_CREATE_WITH_CONTAINER_TITLE_ADD:so,LISTS_CREATE_WITH_CONTAINER_TOOLTIP:co,LISTS_CREATE_WITH_ITEM_TITLE:lo,LISTS_CREATE_WITH_ITEM_TOOLTIP:uo,LISTS_REPEAT_HELPURL:fo,LISTS_REPEAT_TOOLTIP:po,LISTS_REPEAT_TITLE:mo,LISTS_LENGTH_HELPURL:ho,LISTS_LENGTH_TITLE:go,LISTS_LENGTH_TOOLTIP:_o,LISTS_ISEMPTY_HELPURL:vo,LISTS_ISEMPTY_TITLE:yo,LISTS_ISEMPTY_TOOLTIP:bo,LISTS_INLIST:xo,LISTS_INDEX_OF_HELPURL:So,LISTS_INDEX_OF_INPUT_IN_LIST:Co,LISTS_INDEX_OF_FIRST:wo,LISTS_INDEX_OF_LAST:To,LISTS_INDEX_OF_TOOLTIP:Eo,LISTS_GET_INDEX_HELPURL:Do,LISTS_GET_INDEX_GET:Oo,LISTS_GET_INDEX_GET_REMOVE:ko,LISTS_GET_INDEX_REMOVE:Ao,LISTS_GET_INDEX_FROM_START:jo,LISTS_GET_INDEX_FROM_END:Mo,LISTS_GET_INDEX_FIRST:No,LISTS_GET_INDEX_LAST:Po,LISTS_GET_INDEX_RANDOM:Fo,LISTS_GET_INDEX_TAIL:Io,LISTS_GET_INDEX_INPUT_IN_LIST:Lo,LISTS_INDEX_FROM_START_TOOLTIP:Ro,LISTS_INDEX_FROM_END_TOOLTIP:zo,LISTS_GET_INDEX_TOOLTIP_GET_FROM:Bo,LISTS_GET_INDEX_TOOLTIP_GET_FIRST:Vo,LISTS_GET_INDEX_TOOLTIP_GET_LAST:Ho,LISTS_GET_INDEX_TOOLTIP_GET_RANDOM:Uo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM:Wo,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST:Go,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST:Ko,LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM:qo,LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM:Jo,LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST:Yo,LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST:Xo,LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM:Zo,LISTS_SET_INDEX_HELPURL:Qo,LISTS_SET_INDEX_INPUT_IN_LIST:$o,LISTS_SET_INDEX_SET:es,LISTS_SET_INDEX_INSERT:ts,LISTS_SET_INDEX_INPUT_TO:ns,LISTS_SET_INDEX_TOOLTIP_SET_FROM:rs,LISTS_SET_INDEX_TOOLTIP_SET_FIRST:is,LISTS_SET_INDEX_TOOLTIP_SET_LAST:as,LISTS_SET_INDEX_TOOLTIP_SET_RANDOM:os,LISTS_SET_INDEX_TOOLTIP_INSERT_FROM:ss,LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST:cs,LISTS_SET_INDEX_TOOLTIP_INSERT_LAST:ls,LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM:us,LISTS_GET_SUBLIST_HELPURL:ds,LISTS_GET_SUBLIST_INPUT_IN_LIST:fs,LISTS_GET_SUBLIST_START_FROM_START:F,LISTS_GET_SUBLIST_START_FROM_END:ps,LISTS_GET_SUBLIST_START_FIRST:ms,LISTS_GET_SUBLIST_END_FROM_START:hs,LISTS_GET_SUBLIST_END_FROM_END:gs,LISTS_GET_SUBLIST_END_LAST:_s,LISTS_GET_SUBLIST_TAIL:vs,LISTS_GET_SUBLIST_TOOLTIP:ys,LISTS_SORT_HELPURL:bs,LISTS_SORT_TITLE:xs,LISTS_SORT_TOOLTIP:Ss,LISTS_SORT_ORDER_ASCENDING:Cs,LISTS_SORT_ORDER_DESCENDING:ws,LISTS_SORT_TYPE_NUMERIC:Ts,LISTS_SORT_TYPE_TEXT:Es,LISTS_SORT_TYPE_IGNORECASE:Ds,LISTS_SPLIT_HELPURL:Os,LISTS_SPLIT_LIST_FROM_TEXT:ks,LISTS_SPLIT_TEXT_FROM_LIST:As,LISTS_SPLIT_WITH_DELIMITER:js,LISTS_SPLIT_TOOLTIP_SPLIT:Ms,LISTS_SPLIT_TOOLTIP_JOIN:Ns,LISTS_REVERSE_HELPURL:Ps,LISTS_REVERSE_MESSAGE0:Fs,LISTS_REVERSE_TOOLTIP:Is,ORDINAL_NUMBER_SUFFIX:Ls,VARIABLES_GET_HELPURL:Rs,VARIABLES_GET_TOOLTIP:zs,VARIABLES_GET_CREATE_SET:Bs,VARIABLES_SET_HELPURL:Vs,VARIABLES_SET:Hs,VARIABLES_SET_TOOLTIP:Us,VARIABLES_SET_CREATE_GET:Ws,PROCEDURES_DEFNORETURN_HELPURL:Gs,PROCEDURES_DEFNORETURN_TITLE:Ks,PROCEDURES_DEFNORETURN_PROCEDURE:qs,PROCEDURES_BEFORE_PARAMS:Js,PROCEDURES_CALL_BEFORE_PARAMS:Ys,PROCEDURES_CALL_DISABLED_DEF_WARNING:Xs,PROCEDURES_DEFNORETURN_DO:Zs,PROCEDURES_DEFNORETURN_TOOLTIP:Qs,PROCEDURES_DEFNORETURN_COMMENT:$s,PROCEDURES_DEFRETURN_HELPURL:ec,PROCEDURES_DEFRETURN_TITLE:tc,PROCEDURES_DEFRETURN_PROCEDURE:nc,PROCEDURES_DEFRETURN_DO:rc,PROCEDURES_DEFRETURN_COMMENT:ic,PROCEDURES_DEFRETURN_RETURN:ac,PROCEDURES_DEFRETURN_TOOLTIP:oc,PROCEDURES_ALLOW_STATEMENTS:sc,PROCEDURES_DEF_DUPLICATE_WARNING:cc,PROCEDURES_CALLNORETURN_HELPURL:lc,PROCEDURES_CALLNORETURN_TOOLTIP:uc,PROCEDURES_CALLRETURN_HELPURL:dc,PROCEDURES_CALLRETURN_TOOLTIP:fc,PROCEDURES_MUTATORCONTAINER_TITLE:pc,PROCEDURES_MUTATORCONTAINER_TOOLTIP:mc,PROCEDURES_MUTATORARG_TITLE:hc,PROCEDURES_MUTATORARG_TOOLTIP:gc,PROCEDURES_HIGHLIGHT_DEF:_c,PROCEDURES_CREATE_DO:vc,PROCEDURES_IFRETURN_TOOLTIP:yc,PROCEDURES_IFRETURN_HELPURL:bc,PROCEDURES_IFRETURN_WARNING:xc,WORKSPACE_COMMENT_DEFAULT_TEXT:Sc,COLLAPSED_WARNINGS_WARNING:Cc,DIALOG_OK:wc,DIALOG_CANCEL:Tc,EDIT_BLOCK_CONTENTS:Ec,MOVE_BLOCK:Dc,WINDOWS:Oc,MAC_OS:kc,CHROME_OS:Ac,LINUX:jc,UNKNOWN:Mc,CONTROL_KEY:Nc,COMMAND_KEY:Pc,OPTION_KEY:Fc,ALT_KEY:Ic,ENTER_KEY:Lc,BACKSPACE_KEY:Rc,DELETE_KEY:zc,ESCAPE:Bc,TAB_KEY:Vc,SHIFT_KEY:Hc,CAPS_LOCK_KEY:Uc,SPACE_KEY:Wc,PAGE_UP_KEY:Gc,PAGE_DOWN_KEY:Kc,END_KEY:qc,HOME_KEY:Jc,INSERT_KEY:Yc,PAUSE_KEY:Xc,CONTEXT_MENU_KEY:Zc,CUT_SHORTCUT:Qc,COPY_SHORTCUT:$c,PASTE_SHORTCUT:el,HELP_PROMPT:tl,SHORTCUTS_GENERAL:nl,SHORTCUTS_EDITING:rl,SHORTCUTS_CODE_NAVIGATION:il,SHORTCUTS_ESCAPE:al,SHORTCUTS_DELETE:ol,SHORTCUTS_START_MOVE:sl,SHORTCUTS_START_MOVE_STACK:cl,SHORTCUTS_MOVE_LEFT:ll,SHORTCUTS_MOVE_RIGHT:ul,SHORTCUTS_MOVE_UP:dl,SHORTCUTS_MOVE_DOWN:fl,SHORTCUTS_FINISH_MOVE:pl,SHORTCUTS_ABORT_MOVE:ml,SHORTCUTS_SHOW_CONTEXT_MENU:hl,SHORTCUTS_FOCUS_WORKSPACE:gl,SHORTCUTS_FOCUS_TOOLBOX:_l,SHORTCUTS_INFORMATION:vl,SHORTCUTS_EXTENDED_INFORMATION:yl,SHORTCUTS_DISCONNECT:bl,SHORTCUTS_NEXT_STACK:xl,SHORTCUTS_PREVIOUS_STACK:Sl,SHORTCUTS_NEXT_HEADING:Cl,SHORTCUTS_PREVIOUS_HEADING:wl,SHORTCUTS_PERFORM_ACTION:Tl,SHORTCUTS_DUPLICATE:El,SHORTCUTS_CLEANUP:Dl,SHORTCUTS_SHOW_TOOLTIP:Ol,SHORTCUTS_TOGGLE_SCREENREADER_MODE:kl,SHORTCUTS_JUMP_BLOCK_START:Al,SHORTCUTS_JUMP_BLOCK_END:jl,SHORTCUTS_JUMP_TOP_STACK:Ml,SHORTCUTS_JUMP_BOTTOM_STACK:Nl,SHORTCUTS_JUMP_FIRST_BLOCK:Pl,SHORTCUTS_JUMP_LAST_BLOCK:Fl,KEYBOARD_NAV_UNCONSTRAINED_MOVE_HINT:Il,KEYBOARD_NAV_CONSTRAINED_MOVE_HINT:Ll,KEYBOARD_NAV_COPIED_HINT:Rl,KEYBOARD_NAV_CUT_HINT:zl,WORKSPACE_LABEL_PLAIN:Bl,WORKSPACE_ROLEDESCRIPTION:Vl,WORKSPACE_LABEL_1_STACK:Hl,WORKSPACE_LABEL_MANY_STACKS:Ul,WORKSPACE_LABEL_MUTATOR_WORKSPACE:Wl,WORKSPACE_LABEL_FLYOUT_WORKSPACE:Gl,WORKSPACE_CONTENTS_BLOCKS_MANY:Kl,WORKSPACE_CONTENTS_BLOCKS_ONE:ql,WORKSPACE_CONTENTS_BLOCKS_ZERO:Jl,WORKSPACE_CONTENTS_COMMENTS_MANY:Yl,WORKSPACE_CONTENTS_COMMENTS_ONE:Xl,KEYBOARD_NAV_BLOCK_NAVIGATION_HINT:Zl,KEYBOARD_NAV_WORKSPACE_NAVIGATION_HINT:Ql,KEYBOARD_NAV_FLYOUT_LABEL_HINT:$l,BLOCK_LABEL_BEGIN_STACK:eu,BLOCK_LABEL_BEGIN_PREFIX:tu,BLOCK_LABEL_TOOLBOX_CATEGORY:nu,BLOCK_LABEL_DISABLED:ru,BLOCK_LABEL_COLLAPSED:iu,BLOCK_LABEL_REPLACEABLE:au,BLOCK_LABEL_HAS_INPUT:ou,BLOCK_LABEL_HAS_INPUTS:su,BLOCK_LABEL_HAS_BRANCHES:cu,BLOCK_LABEL_STATEMENT:lu,BLOCK_LABEL_CONTAINER:uu,BLOCK_LABEL_VALUE:du,BLOCK_LABEL_STACK_BLOCKS:fu,INPUT_LABEL_INDEX:pu,INPUT_LABEL_VALUE:mu,INPUT_LABEL_STATEMENT:hu,INPUT_LABEL_END_STATEMENT:gu,INPUT_LABEL_EMPTY:_u,INPUT_LABEL_CONDITION:vu,INPUT_LABEL_CONDITION_A:yu,INPUT_LABEL_CONDITION_B:bu,INPUT_LABEL_VALUE_A:xu,INPUT_LABEL_VALUE_B:Su,INPUT_LABEL_NUMBER:Cu,INPUT_LABEL_NUMBER_A:wu,INPUT_LABEL_NUMBER_B:Tu,INPUT_LABEL_NUMBER_TO_CHECK:Eu,INPUT_LABEL_NUMBER_LIST:Du,INPUT_LABEL_MATH_DIVIDEND:Ou,INPUT_LABEL_MATH_DIVISOR:ku,INPUT_LABEL_MATH_CHANGE_BY:Au,INPUT_LABEL_MATH_CONSTRAIN_VALUE:ju,INPUT_LABEL_NUMBER_MIN:Mu,INPUT_LABEL_NUMBER_MAX:Nu,INPUT_LABEL_NUMBER_ATAN2_X:Pu,INPUT_LABEL_NUMBER_ATAN2_Y:Fu,INPUT_LABEL_LOOP_TIMES:Iu,INPUT_LABEL_LOOP_FROM:Lu,INPUT_LABEL_LOOP_TO:Ru,INPUT_LABEL_LOOP_BY:zu,INPUT_LABEL_LOOP_LIST:Bu,INPUT_LABEL_TEXT_JOIN_ITEM:Vu,INPUT_LABEL_TEXT_APPEND:Hu,INPUT_LABEL_TEXT_TO_CHANGE:Uu,INPUT_LABEL_TEXT_TO_CHECK:Wu,INPUT_LABEL_TEXT_TO_FIND:Gu,INPUT_LABEL_TEXT_TO_REPLACE:Ku,INPUT_LABEL_TEXT_POSITION:qu,INPUT_LABEL_TEXT_START_POSITION:Ju,INPUT_LABEL_TEXT_END_POSITION:Yu,INPUT_LABEL_TEXT_PROMPT_MESSAGE:Xu,INPUT_LABEL_VARIABLES_SET:Zu,INPUT_LABEL_LISTS_CREATE_WITH_ITEM:Qu,INPUT_LABEL_LISTS_REPEAT_ITEM:$u,INPUT_LABEL_LISTS_REPEAT_NUM:ed,INPUT_LABEL_LISTS_TO_CHECK:td,INPUT_LABEL_LISTS_VALUE_TO_SET:nd,INPUT_LABEL_LISTS_POSITION:rd,INPUT_LABEL_LISTS_START_POSITION:id,INPUT_LABEL_LISTS_END_POSITION:ad,INPUT_LABEL_LISTS_LIST_FROM_TEXT:od,INPUT_LABEL_LISTS_TEXT_FROM_LIST:sd,INPUT_LABEL_LISTS_DELIMITER:cd,INPUT_LABEL_LISTS_TO_CHANGE:ld,ANNOUNCE_MOVE_WORKSPACE:ud,ANNOUNCE_MOVE_BEFORE:dd,ANNOUNCE_MOVE_AFTER:fd,ANNOUNCE_MOVE_INSIDE:pd,ANNOUNCE_MOVE_AROUND:md,ANNOUNCE_MOVE_TO:hd,ANNOUNCE_MOVE_OF:gd,ANNOUNCE_MOVE_CANCELED:_d,FIELD_LABEL_EMPTY:vd,ARIA_TYPE_FIELD_INPUT:yd,ARIA_TYPE_FIELD_TEXT_INPUT:bd,ARIA_TYPE_FIELD_NUMBER:xd,ARIA_TYPE_FIELD_TEXT_INPUT_PROCEDURE:Sd,ARIA_TYPE_FIELD_TEXT_INPUT_ARGUMENT:Cd,ARIA_TYPE_FIELD_DROPDOWN:wd,ARIA_TYPE_FIELD_IMAGE:Td,ARIA_TYPE_FIELD_CHECKBOX:Ed,FIELD_LABEL_EDIT_PREFIX:Dd,OPEN_TRASH:Od,ZOOM_IN:kd,ZOOM_OUT:Ad,RESET_ZOOM:jd,FIELD_LABEL_OPTION_INDEX:Md,FIELD_LABEL_CHECKBOX_CHECKED:Nd,FIELD_LABEL_CHECKBOX_UNCHECKED:Pd,FIELD_LABEL_VARIABLE:Fd,ARIA_LABEL_BUTTON:Id,ARIA_LABEL_HEADING:Ld,BUBBLE_LABEL_DEFAULT:Rd,BUBBLE_LABEL_COMMENT:zd,BUBBLE_LABEL_WARNING:Bd,ICON_LABEL_DEFAULT:Vd,ICON_LABEL_COMMENT_CLOSED:Hd,ICON_LABEL_COMMENT_OPEN:Ud,ICON_LABEL_MUTATOR_CLOSED:Wd,ICON_LABEL_MUTATOR_OPEN:Gd,ICON_LABEL_WARNING_CLOSED:Kd,ICON_LABEL_WARNING_OPEN:qd,ARIA_LABEL_COMMENT:Jd,ARIA_LABEL_COMMENT_COLLAPSE:Yd,ARIA_LABEL_COMMENT_EXPAND:Xd,SCREENREADER_MODE_ENABLED:Zd,SCREENREADER_MODE_DISABLED:Qd,CURRENT_BLOCK_ANNOUNCEMENT:$d,PARENT_BLOCKS_ANNOUNCEMENT:ef,NO_PARENT_ANNOUNCEMENT:tf,SCREENREADER_HINT:nf,ARIA_LABEL_ADD_ELSE_IF:rf,ARIA_LABEL_REMOVE_ELSE_IF:af,ARIA_LABEL_ADD_LIST_ITEM:of,ARIA_LABEL_REMOVE_LIST_ITEM:sf,ARIA_LABEL_ADD_TEXT:cf,ARIA_LABEL_REMOVE_TEXT:lf,ARIA_LABEL_ADD_INPUT:uf,ARIA_LABEL_REMOVE_INPUT:df,ARIA_TYPE_FIELD_ANGLE:ff,ARIA_LABEL_FIELD_ANGLE:pf,ARIA_TYPE_FIELD_DATE:mf,ARIA_TYPE_FIELD_COLOUR:hf,ARIA_TYPE_FIELD_BITMAP:gf,ARIA_TYPE_FIELD_GRID:_f,FIELD_BITMAP_BUTTON_LABEL_RANDOMIZE:vf,FIELD_BITMAP_BUTTON_LABEL_CLEAR:yf,FIELD_BITMAP_PIXEL_ON:bf,FIELD_BITMAP_PIXEL_OFF:xf,FIELD_BITMAP_PIXEL_LABEL:Sf,FIELD_BITMAP_ARIA_VALUE:Cf,OPEN_BACKPACK:wf,CLOSE_BACKPACK:Tf,COPY_ALL_TO_BACKPACK:Ef,COPY_TO_BACKPACK:Df,EMPTY_BACKPACK:Of,PASTE_ALL_FROM_BACKPACK:kf,REMOVE_FROM_BACKPACK:Af,FIELD_MULTILINEINPUT_FINISH_EDITING:jf,FIELD_MULTILINEINPUT_NEW_LINE:Mf,ZOOM_TO_FIT_ARIA_LABEL:Nf,MINIMAP_ARIA_LABEL:Pf,ARIA_LABEL_TRASH_EMPTY:Ff}=e(le(),1).default,If=[{id:`blocks_words`,source:`module`},{id:`blocks_procedures`,source:`module`},{id:`blocks_logic`,source:`module`},{id:`blocks_switch`,source:`module`},{id:`blocks_text`,source:`module`},{id:`blocks_number`,source:`module`},{id:`field_oid`,source:`module`},{id:`field_cron`,source:`module`},{id:`field_script`,source:`module`},{id:`blocks_system`,source:`module`},{id:`blocks_action`,source:`module`},{id:`blocks_sendto`,source:`module`},{id:`blocks_time`,source:`module`},{id:`blocks_convert`,source:`module`},{id:`blocks_trigger`,source:`module`},{id:`blocks_timeout`,source:`module`},{id:`blocks_object`,source:`module`}],Lf={blocks_action:()=>r(()=>import(`./blocks_action-CvnOHXwt.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),blocks_convert:()=>r(()=>import(`./blocks_convert-BZlKcd02.js`),__vite__mapDeps([5,1,2,3,4]),import.meta.url),blocks_words:()=>r(()=>import(`./blocks_words-D8PL_nSE.js`),[],import.meta.url),blocks_logic:()=>r(()=>import(`./blocks_logic-B33Pypxr.js`),__vite__mapDeps([6,1,2,3,4]),import.meta.url),blocks_number:()=>r(()=>import(`./blocks_number-k2IjE7OH.js`),__vite__mapDeps([7,1,2,3]),import.meta.url),blocks_procedures:()=>r(()=>import(`./blocks_procedures-BpvNI5dO.js`),__vite__mapDeps([8,1,3,9]),import.meta.url),blocks_sendto:()=>r(()=>import(`./blocks_sendto-pwZchfe0.js`),__vite__mapDeps([10,1,2,3,4]),import.meta.url),blocks_system:()=>r(()=>import(`./blocks_system-BZZcGqTJ.js`),__vite__mapDeps([11,1,3,4,12]),import.meta.url),field_cron:()=>r(()=>import(`./field_cron-BMQWPb61.js`),__vite__mapDeps([13,1]),import.meta.url),field_oid:()=>r(()=>import(`./field_oid-BGIMv9gw.js`),__vite__mapDeps([12,1]),import.meta.url),field_script:()=>r(()=>import(`./field_script-CdzYBCe6.js`),__vite__mapDeps([9,1]),import.meta.url),blocks_object:()=>r(()=>import(`./blocks_object-B64vSfel.js`),__vite__mapDeps([14,1,2,3,4]),import.meta.url),blocks_switch:()=>r(()=>import(`./blocks_switch-DViYCmQd.js`),__vite__mapDeps([15,1,2,3]),import.meta.url),blocks_text:()=>r(()=>import(`./blocks_text-BOvtHN2r.js`),__vite__mapDeps([16,1,2,3]),import.meta.url),blocks_time:()=>r(()=>import(`./blocks_time-BH2F-ylT.js`),__vite__mapDeps([17,1,2,3,4]),import.meta.url),blocks_trigger:()=>r(()=>import(`./blocks_trigger-gwXvuAHV.js`),__vite__mapDeps([18,1,3,4,12,13]),import.meta.url),blocks_timeout:()=>r(()=>import(`./blocks_timeout-C3BoW4XJ.js`),__vite__mapDeps([19,1,2,3]),import.meta.url)},Rf={...S,JavaScript:T};w(ue),window.Blockly=Rf,window.goog||={provide:()=>{},require:()=>{}};function zf(e){return new Promise(t=>{let n=window.document.createElement(`script`);n.src=e,n.onload=()=>t(),n.onerror=()=>{console.error(`Cannot load ${e}`),t()},window.document.head.appendChild(n)})}var I=null;function Bf(){return I||=(async()=>{for(let e of If)if(e.source===`module`){let t=Lf[e.id];if(!t){console.error(`No module registered for "${e.id}" - check BLOCK_MODULES in bridge.ts`);continue}(await t()).install()}else await zf(`google-blockly/own/${e.id}.js`)})(),I}var L=window.Blockly,R=class extends Error{constructor(){super(`The field has not yet been attached to its input. Call appendField to attach it.`)}},z=class e extends L.Field{constructor(e,t,n){super(e),s(this,`textGroup`,null),s(this,`borderRect_`,null),s(this,`maxLines_`,1/0),s(this,`isOverflowedY_`,!1),e!==Symbol(`SKIP_SETUP`)&&(n&&this.configure_(n),this.SERIALIZABLE=!0,this.setValue((e==null?void 0:e.toString())||``),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.maxLines&&this.setMaxLines(e.maxLines)}toXml(e){return e.textContent=this.getValue().replace(/\n/g,` `),e}fromXml(e){this.setValue(e.textContent.replace(/ /g,`
|
|
5
|
+
`))}saveState(){let t=this.saveLegacyState(e);return t===null?this.getValue():t}loadState(e){this.loadLegacyState(L.Field,e)||this.setValue(e)}initView(){this.createBorderRect_(),this.textGroup=L.utils.dom.createSvgElement(L.utils.Svg.G,{class:`blocklyEditableText`},this.fieldGroup_)}onHtmlInputKeyDownSuper_(e){e.key===`Enter`?(L.WidgetDiv.hideIfOwner(this),L.dropDownDiv.hideWithoutAnimation()):e.key===`Escape`?(this.setValue(this.htmlInput_.getAttribute(`data-untyped-default-value`),!1),L.WidgetDiv.hideIfOwner(this),L.dropDownDiv.hideWithoutAnimation()):e.key===`Tab`&&(L.WidgetDiv.hideIfOwner(this),L.dropDownDiv.hideWithoutAnimation(),this.sourceBlock_.tab(this,!e.shiftKey),e.preventDefault())}onHtmlInputChange_(e){let t=this.value_;this.setValue(this.getValueFromEditorText_(this.htmlInput_.value),!1),this.sourceBlock_&&L.Events.isEnabled()&&this.value_!==t&&L.Events.fire(new(L.Events.get(`block_field_intermediate_change`))(this.sourceBlock_,this.name||null,t,this.value_))}onFinishEditing_(e){}getValueFromEditorText_(e){return e}bindInputEvents_(e){this.onKeyDownWrapper_=L.browserEvents.conditionalBind(e,`keydown`,this,this.onHtmlInputKeyDown_),this.onKeyInputWrapper_=L.browserEvents.conditionalBind(e,`input`,this,this.onHtmlInputChange_)}getDisplayText_(){let e=this.getSourceBlock();if(!e)throw Error(`The field has not yet been attached to its input. Call appendField to attach it.`);let t=this.getText();if(!t)return L.Field.NBSP;let n=t.split(`
|
|
6
|
+
`);t=``;let r=this.isOverflowedY_?this.maxLines_:n.length;for(let e=0;e<r;e++){let i=n[e]||``;i.length>this.maxDisplayLength?i=`${i.substring(0,this.maxDisplayLength-4)}...`:this.isOverflowedY_&&e===r-1&&(i=`${i.substring(0,i.length-3)}...`),i=i.replace(/\s/g,L.Field.NBSP),t+=i,e!==r-1&&(t+=`
|
|
7
|
+
`)}return e.RTL&&(t+=``),t}doValueUpdate_(e){super.doValueUpdate_(e),this.value_!==null&&(this.isOverflowedY_=this.value_.split(`
|
|
8
|
+
`).length>this.maxLines_)}render_(){let e=this.getSourceBlock();if(!e)throw Error(`The field has not yet been attached to its input. Call appendField to attach it.`);let t,n=this.textGroup;for(;t=n.firstChild;)n.removeChild(t);let r=this.getConstants();if(!r)throw Error(`Constants not found`);let i=this.getDisplayText_().split(`
|
|
9
|
+
`),a=0;for(let e=0;e<i.length;e++){let t=r.FIELD_TEXT_HEIGHT+r.FIELD_BORDER_RECT_Y_PADDING;L.utils.dom.createSvgElement(L.utils.Svg.TEXT,{class:`blocklyText blocklyMultilineText`,x:r.FIELD_BORDER_RECT_X_PADDING,y:a+r.FIELD_BORDER_RECT_Y_PADDING,dy:r.FIELD_TEXT_BASELINE},n).appendChild(document.createTextNode(i[e])),a+=t}if(this.isBeingEdited_){let e=this.htmlInput_;this.isOverflowedY_?L.utils.dom.addClass(e,`blocklyHtmlTextAreaInputOverflowedY`):L.utils.dom.removeClass(e,`blocklyHtmlTextAreaInputOverflowedY`)}if(this.updateSize_(),this.isBeingEdited_){e.RTL?setTimeout(this.resizeEditor_.bind(this),0):this.resizeEditor_();let t=this.htmlInput_;this.isTextValid_?(L.utils.dom.removeClass(t,`blocklyInvalidInput`),L.utils.aria.setState(t,L.utils.aria.State.INVALID,!1)):(L.utils.dom.addClass(t,`blocklyInvalidInput`),L.utils.aria.setState(t,L.utils.aria.State.INVALID,!0))}}updateSize_(){let e=this.getConstants();if(!e)throw Error(`Constants not found`);let t=this.textGroup.childNodes,n=e.FIELD_TEXT_FONTSIZE,r=e.FIELD_TEXT_FONTWEIGHT,i=e.FIELD_TEXT_FONTFAMILY,a=0,o=0;for(let s=0;s<t.length;s++){let c=t[s],l=L.utils.dom.getFastTextWidth(c,n,r,i);l>a&&(a=l),o+=e.FIELD_TEXT_HEIGHT+(s>0?e.FIELD_BORDER_RECT_Y_PADDING:0)}if(this.isBeingEdited_){let e=String(this.value_).split(`
|
|
10
|
+
`),t=L.utils.dom.createSvgElement(L.utils.Svg.TEXT,{class:`blocklyText blocklyMultilineText`});for(let o=0;o<e.length;o++){e[o].length>this.maxDisplayLength&&(e[o]=e[o].substring(0,this.maxDisplayLength)),t.textContent=e[o];let s=L.utils.dom.getFastTextWidth(t,n,r,i);s>a&&(a=s)}let o=this.htmlInput_,s=o.offsetWidth-o.clientWidth;a+=s}this.borderRect_&&(o+=e.FIELD_BORDER_RECT_Y_PADDING*2,a+=e.FIELD_BORDER_RECT_X_PADDING*2+1,this.borderRect_.setAttribute(`width`,`${a}`),this.borderRect_.setAttribute(`height`,`${o}`)),this.size_.width=a,this.size_.height=o,this.positionBorderRect_()}showInlineEditor_(e){let t=this.getSourceBlock();if(!t)throw new R;L.WidgetDiv.show(this,t.RTL,this.widgetDispose_.bind(this),this.workspace_),this.htmlInput_=this.widgetCreate_(),this.isBeingEdited_=!0,this.valueWhenEditorWasOpened_=this.value_,e||(this.htmlInput_.focus({preventScroll:!0}),this.htmlInput_.select())}getEditorText_(e){return`${e}`}getScaledBBox(){let e,t,n,r=this.getSourceBlock();if(!r)throw new R;if(this.isFullBlockField()){let i=this.sourceBlock_.getHeightWidth(),a=r.workspace.scale;n=this.getAbsoluteXY_(),e=(i.width+1)*a,t=(i.height+1)*a,L.utils.userAgent.GECKO?(n.x+=1.5*a,n.y+=1.5*a):(n.x-=.5*a,n.y-=.5*a)}else{let r=this.borderRect_.getBoundingClientRect();n=L.utils.style.getPageOffset(this.borderRect_),e=r.width,t=r.height}return new L.utils.Rect(n.y,n.y+t,n.x,n.x+e)}resizeEditor_(){L.renderManagement.finishQueuedRenders().then(()=>{let e=this.getSourceBlock();if(!e)throw new R;let t=L.WidgetDiv.getDiv(),n=this.getScaledBBox();t.style.width=`${n.right-n.left}px`,t.style.height=`${n.bottom-n.top}px`;let r=e.RTL?n.right-t.offsetWidth:n.left,i=n.top;t.style.left=`${r}px`,t.style.top=`${i}px`})}unbindInputEvents_(){this.onKeyDownWrapper_&&=(L.browserEvents.unbind(this.onKeyDownWrapper_),null),this.onKeyInputWrapper_&&=(L.browserEvents.unbind(this.onKeyInputWrapper_),null)}getClickTarget_(){return this.clickTarget_||this.getSvgRoot()}widgetDispose_(){this.isBeingEdited_=!1,this.isTextValid_=!0,this.forceRerender(),this.onFinishEditing_(this.value_),this.sourceBlock_&&L.Events.isEnabled()&&this.valueWhenEditorWasOpened_!==null&&this.valueWhenEditorWasOpened_!==this.value_&&(L.Events.fire(new(L.Events.get(`change`))(this.sourceBlock_,`field`,this.name||null,this.valueWhenEditorWasOpened_,this.value_)),this.valueWhenEditorWasOpened_=null),L.Events.setGroup(!1),this.unbindInputEvents_();let e=L.WidgetDiv.getDiv().style;e.width=`auto`,e.height=`auto`,e.fontSize=``,e.transition=``,e.boxShadow=``,this.htmlInput_=null;let t=this.getClickTarget_();if(!t)throw Error(`A click target has not been set.`);L.utils.dom.removeClass(t,`editing`)}showEditor_(e,t){this.workspace_=this.sourceBlock_.workspace,!t&&this.workspace_.options.modalInputs&&(L.utils.userAgent.MOBILE||L.utils.userAgent.ANDROID||L.utils.userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(!!t),this.forceRerender()}widgetCreate_(){let e=L.WidgetDiv.getDiv(),t=this.workspace_.getScale(),n=this.getConstants();if(!n)throw Error(`Constants not found`);let r=document.createElement(`textarea`);r.className=`blocklyHtmlInput blocklyHtmlTextAreaInput`,r.setAttribute(`spellcheck`,String(this.spellcheck_));let i=`${n.FIELD_TEXT_FONTSIZE*t}pt`;e.style.fontSize=i,r.style.fontSize=i;let a=`${L.FieldTextInput.BORDERRADIUS*t}px`;r.style.borderRadius=a;let o=n.FIELD_BORDER_RECT_X_PADDING*t,s=n.FIELD_BORDER_RECT_Y_PADDING*t/2;r.style.padding=`${s}px ${o}px ${s}px ${o}px`;let c=n.FIELD_TEXT_HEIGHT+n.FIELD_BORDER_RECT_Y_PADDING;return r.style.lineHeight=`${c*t}px`,e.appendChild(r),r.value=r.defaultValue=this.getEditorText_(this.value_),r.setAttribute(`data-untyped-default-value`,String(this.value_)),r.setAttribute(`data-old-value`,``),L.utils.userAgent.GECKO?setTimeout(this.resizeEditor_.bind(this),0):this.resizeEditor_(),this.bindInputEvents_(r),r}setMaxLines(e){typeof e==`number`&&e>0&&e!==this.maxLines_&&(this.maxLines_=e,this.forceRerender())}getMaxLines(){return this.maxLines_}onHtmlInputKeyDown_(e){e.key!==`Enter`&&this.onHtmlInputKeyDownSuper_(e)}static fromJson(e){let t=L.utils.parsing.replaceMessageReferences(e.text);return new this(t,void 0,e)}};L.Css.register(`
|
|
11
|
+
.blocklyHtmlTextAreaInput {
|
|
12
|
+
font-family: monospace;
|
|
13
|
+
resize: none;
|
|
14
|
+
overflow: hidden;
|
|
15
|
+
height: 100%;
|
|
16
|
+
text-align: left;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.blocklyHtmlTextAreaInputOverflowedY {
|
|
20
|
+
overflow-y: scroll;
|
|
21
|
+
}
|
|
22
|
+
`);var B=`text_multiline`,Vf={type:B,message0:`%1 %2`,args0:[{type:`field_image`,src:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=`,width:12,height:17,alt:`¶`},{type:`field_multilinetext`,name:`TEXT`,text:``}],output:`String`,style:`text_blocks`,helpUrl:`%{BKY_TEXT_TEXT_HELPURL}`,tooltip:`%{BKY_TEXT_TEXT_TOOLTIP}`,extensions:[`parent_tooltip_when_inline`]};function Hf(e,t){let n=t.multiline_quote_(e.getFieldValue(`TEXT`));return[n,n.indexOf(`+`)===-1?0:6.2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([Vf])[B];var V=window.Blockly,H=class extends V.Field{constructor(e,t,n){super(e),s(this,`picker`,null),s(this,`highlightedIndex`,null),s(this,`boundEvents`,[]),s(this,`SERIALIZABLE`,!0),s(this,`CURSOR`,`default`),s(this,`isDirty_`,!1),s(this,`colours`,`#ffffff.#cccccc.#c0c0c0.#999999.#666666.#333333.#000000.#ffcccc.#ff6666.#ff0000.#cc0000.#990000.#660000.#330000.#ffcc99.#ff9966.#ff9900.#ff6600.#cc6600.#993300.#663300.#ffff99.#ffff66.#ffcc66.#ffcc33.#cc9933.#996633.#663333.#ffffcc.#ffff33.#ffff00.#ffcc00.#999900.#666600.#333300.#99ff99.#66ff99.#33ff33.#33cc00.#009900.#006600.#003300.#99ffff.#33ffff.#66cccc.#00cccc.#339999.#336666.#003333.#ccffff.#66ffff.#33ccff.#3366ff.#3333ff.#000099.#000066.#ccccff.#9999ff.#6666cc.#6633ff.#6600cc.#333399.#330099.#ffccff.#ff99ff.#cc66cc.#cc33cc.#993399.#663366.#330033`.split(`.`)),s(this,`titles`,[]),s(this,`columns`,7),e!==Symbol(`SKIP_SETUP`)&&(n&&this.configure_(n),this.setValue(e),t&&this.setValidator(t))}configure_(e){super.configure_(e),e.colourOptions&&(this.colours=e.colourOptions),e.colourTitles&&(this.titles=e.colourTitles),e.columns&&(this.columns=e.columns)}initView(){let e=this.getConstants();if(!e)throw Error(`Constants not found`);this.size_=new V.utils.Size(e.FIELD_COLOUR_DEFAULT_WIDTH,e.FIELD_COLOUR_DEFAULT_HEIGHT),this.createBorderRect_(),this.getBorderRect().style.fillOpacity=`1`,this.getBorderRect().setAttribute(`stroke`,`#fff`),this.isFullBlockField()&&(this.clickTarget_=this.sourceBlock_.getSvgRoot())}isFullBlockField(){if(!this.getSourceBlock())throw new V.UnattachedFieldError;let e=this.getConstants();return this.blockIsSimpleReporter()&&!!(e!=null&&e.FIELD_COLOUR_FULL_BLOCK)}blockIsSimpleReporter(){let e=this.getSourceBlock();if(!e)throw new V.UnattachedFieldError;if(!e.outputConnection)return!1;for(let t of e.inputList)if(t.connection||t.fieldRow.length>1)return!1;return!0}applyColour(){let e=this.getSourceBlock();if(!e)throw new V.UnattachedFieldError;if(!this.fieldGroup_)return;let t=this.borderRect_;if(!t)throw Error(`The border rect has not been initialized`);this.isFullBlockField()?(t.style.display=`none`,e.pathObject.svgPath.setAttribute(`fill`,this.getValue()),e.pathObject.svgPath.setAttribute(`stroke`,`#fff`)):(t.style.display=`block`,t.style.fill=this.getValue())}getSize(){var e;return(e=this.getConstants())!=null&&e.FIELD_COLOUR_FULL_BLOCK&&(this.render_(),this.isDirty_=!1),super.getSize()}render_(){super.render_();let e=this.getSourceBlock();if(!e)throw new V.UnattachedFieldError;e.applyColour()}updateSize_(e){let t=this.getConstants();if(!t)return;let n,r;this.isFullBlockField()?(n=(e??0)*2,r=t.FIELD_TEXT_HEIGHT):(n=t.FIELD_COLOUR_DEFAULT_WIDTH,r=t.FIELD_COLOUR_DEFAULT_HEIGHT),this.size_.height=r,this.size_.width=n,this.positionBorderRect_()}doClassValidation_(e){return typeof e==`string`?V.utils.colour.parse(e):null}getText(){let e=this.value_;return/^#(.)\1(.)\2(.)\3$/.test(e)&&(e=`#${e[1]}${e[3]}${e[5]}`),e}setColours(e,t){return this.colours=e,t&&(this.titles=t),this}setColumns(e){return this.columns=e,this}showEditor_(){if(this.dropdownCreate(),!this.picker)throw Error(`Picker not found`);V.DropDownDiv.getContentDiv().appendChild(this.picker),V.DropDownDiv.showPositionedByField(this,this.dropdownDispose.bind(this)),this.picker.focus({preventScroll:!0})}onClick(e){let t=e.target,n=t==null?void 0:t.getAttribute(`data-colour`);n!==null&&(this.setValue(n),V.DropDownDiv.hideIfOwner(this))}onKeyDown(e){let t=!0,n;switch(e.key){case`ArrowUp`:this.moveHighlightBy(0,-1);break;case`ArrowDown`:this.moveHighlightBy(0,1);break;case`ArrowLeft`:this.moveHighlightBy(-1,0);break;case`ArrowRight`:this.moveHighlightBy(1,0);break;case`Enter`:if(n=this.getHighlighted(),n){let e=n.getAttribute(`data-colour`);e!==null&&this.setValue(e)}V.DropDownDiv.hideWithoutAnimation();break;default:t=!1}t&&e.stopPropagation()}moveHighlightBy(e,t){if(!this.highlightedIndex)return;let n=this.colours,r=this.columns,i=this.highlightedIndex%r,a=Math.floor(this.highlightedIndex/r);i+=e,a+=t,e<0?i<0&&a>0?(i=r-1,a--):i<0&&(i=0):e>0?i>r-1&&a<Math.floor(n.length/r)-1?(i=0,a++):i>r-1&&i--:t<0?a<0&&(a=0):t>0&&a>Math.floor(n.length/r)-1&&(a=Math.floor(n.length/r)-1);let o=this.picker.childNodes[a].childNodes[i],s=a*r+i;this.setHighlightedCell(o,s)}onMouseMove(e){let t=e.target,n=t&&Number(t.getAttribute(`data-index`));n!==null&&n!==this.highlightedIndex&&this.setHighlightedCell(t,n)}onMouseEnter(){var e;(e=this.picker)==null||e.focus({preventScroll:!0})}onMouseLeave(){var e;(e=this.picker)==null||e.blur();let t=this.getHighlighted();t&&V.utils.dom.removeClass(t,`blocklyColourHighlighted`)}getHighlighted(){var e;if(!this.highlightedIndex)return null;let t=this.highlightedIndex%this.columns,n=Math.floor(this.highlightedIndex/this.columns),r=(e=this.picker)==null?void 0:e.childNodes[n];return r?r.childNodes[t]:null}setHighlightedCell(e,t){let n=this.getHighlighted();n&&V.utils.dom.removeClass(n,`blocklyColourHighlighted`),V.utils.dom.addClass(e,`blocklyColourHighlighted`),this.highlightedIndex=t;let r=e.getAttribute(`id`);r&&this.picker&&V.utils.aria.setState(this.picker,V.utils.aria.State.ACTIVEDESCENDANT,r)}dropdownCreate(){let e=this.columns,t=this.colours,n=this.getValue(),r=document.createElement(`table`);r.className=`blocklyColourTable`,r.tabIndex=0,r.dir=`ltr`,V.utils.aria.setRole(r,V.utils.aria.Role.GRID),V.utils.aria.setState(r,V.utils.aria.State.EXPANDED,!0),V.utils.aria.setState(r,V.utils.aria.State.ROWCOUNT,Math.floor(t.length/e)),V.utils.aria.setState(r,V.utils.aria.State.COLCOUNT,e);let i=null;for(let a=0;a<t.length;a++){a%e===0&&(i=document.createElement(`tr`),V.utils.aria.setRole(i,V.utils.aria.Role.ROW),r.appendChild(i));let o=document.createElement(`td`);i.appendChild(o),o.setAttribute(`data-colour`,t[a]),o.title=this.titles[a]||t[a],o.id=V.utils.idGenerator.getNextUniqueId(),o.setAttribute(`data-index`,`${a}`),V.utils.aria.setRole(o,V.utils.aria.Role.GRIDCELL),V.utils.aria.setState(o,V.utils.aria.State.LABEL,t[a]),V.utils.aria.setState(o,V.utils.aria.State.SELECTED,t[a]===n),o.style.backgroundColor=t[a],t[a]===n&&(o.className=`blocklyColourSelected`,this.highlightedIndex=a)}this.boundEvents.push(V.browserEvents.conditionalBind(r,`pointerdown`,this,this.onClick,!0)),this.boundEvents.push(V.browserEvents.conditionalBind(r,`pointermove`,this,this.onMouseMove,!0)),this.boundEvents.push(V.browserEvents.conditionalBind(r,`pointerenter`,this,this.onMouseEnter,!0)),this.boundEvents.push(V.browserEvents.conditionalBind(r,`pointerleave`,this,this.onMouseLeave,!0)),this.boundEvents.push(V.browserEvents.conditionalBind(r,`keydown`,this,this.onKeyDown,!1)),this.picker=r}dropdownDispose(){for(let e of this.boundEvents)V.browserEvents.unbind(e);this.boundEvents.length=0,this.picker=null,this.highlightedIndex=null}static fromJson(e){return new this(e.colour,void 0,e)}};H.prototype.DEFAULT_VALUE=`#ffffff`,V.Css.register(`
|
|
23
|
+
.blocklyColourTable {
|
|
24
|
+
border-collapse: collapse;
|
|
25
|
+
display: block;
|
|
26
|
+
outline: none;
|
|
27
|
+
padding: 1px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.blocklyColourTable>tr>td {
|
|
31
|
+
border: 0.5px solid #888;
|
|
32
|
+
box-sizing: border-box;
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
display: inline-block;
|
|
35
|
+
height: 20px;
|
|
36
|
+
padding: 0;
|
|
37
|
+
width: 20px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.blocklyColourTable>tr>td.blocklyColourHighlighted {
|
|
41
|
+
border-color: #eee;
|
|
42
|
+
box-shadow: 2px 2px 7px 2px rgba(0, 0, 0, 0.3);
|
|
43
|
+
position: relative;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.blocklyColourSelected, .blocklyColourSelected:hover {
|
|
47
|
+
border-color: #eee !important;
|
|
48
|
+
outline: 1px solid #333;
|
|
49
|
+
position: relative;
|
|
50
|
+
}
|
|
51
|
+
`);var U=`colour_picker`,Uf={type:U,message0:`%1`,args0:[{type:`field_colour`,name:`COLOUR`,colour:`#ff0000`}],output:`Colour`,helpUrl:`%{BKY_COLOUR_PICKER_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_PICKER_TOOLTIP}`,extensions:[`parent_tooltip_when_inline`]};function Wf(e,t){return[t.quote_(e.getFieldValue(`COLOUR`)),0]}window.Blockly.common.createBlockDefinitionsFromJsonArray([Uf])[U];var W=`colour_random`,Gf={type:W,message0:`%{BKY_COLOUR_RANDOM_TITLE}`,output:`Colour`,helpUrl:`%{BKY_COLOUR_RANDOM_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_RANDOM_TOOLTIP}`};function Kf(e,t){return[`${t.provideFunction_(`colourRandom`,`
|
|
52
|
+
function ${t.FUNCTION_NAME_PLACEHOLDER_}() {
|
|
53
|
+
var num = Math.floor(Math.random() * 0x1000000);
|
|
54
|
+
return '#' + ('00000' + num.toString(16)).substr(-6);
|
|
55
|
+
}
|
|
56
|
+
`)}()`,2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([Gf])[W];var G=`colour_rgb`,qf={type:G,message0:`%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3`,args0:[{type:`input_value`,name:`RED`,check:`Number`,align:`RIGHT`},{type:`input_value`,name:`GREEN`,check:`Number`,align:`RIGHT`},{type:`input_value`,name:`BLUE`,check:`Number`,align:`RIGHT`}],output:`Colour`,helpUrl:`%{BKY_COLOUR_RGB_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_RGB_TOOLTIP}`};function Jf(e,t){let n=t.valueToCode(e,`RED`,99)||0,r=t.valueToCode(e,`GREEN`,99)||0,i=t.valueToCode(e,`BLUE`,99)||0;return[`${t.provideFunction_(`colourRgb`,`
|
|
57
|
+
function ${t.FUNCTION_NAME_PLACEHOLDER_}(r, g, b) {
|
|
58
|
+
r = Math.max(Math.min(Number(r), 100), 0) * 2.55;
|
|
59
|
+
g = Math.max(Math.min(Number(g), 100), 0) * 2.55;
|
|
60
|
+
b = Math.max(Math.min(Number(b), 100), 0) * 2.55;
|
|
61
|
+
r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2);
|
|
62
|
+
g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2);
|
|
63
|
+
b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2);
|
|
64
|
+
return '#' + r + g + b;
|
|
65
|
+
}
|
|
66
|
+
`)}(${n}, ${r}, ${i})`,2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([qf])[G];var K=`colour_blend`,Yf={type:K,message0:`%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3`,args0:[{type:`input_value`,name:`COLOUR1`,check:`Colour`,align:`RIGHT`},{type:`input_value`,name:`COLOUR2`,check:`Colour`,align:`RIGHT`},{type:`input_value`,name:`RATIO`,check:`Number`,align:`RIGHT`}],output:`Colour`,helpUrl:`%{BKY_COLOUR_BLEND_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_BLEND_TOOLTIP}`};function Xf(e,t){let n=t.valueToCode(e,`COLOUR1`,99)||`'#000000'`,r=t.valueToCode(e,`COLOUR2`,99)||`'#000000'`,i=t.valueToCode(e,`RATIO`,99)||.5;return[`${t.provideFunction_(`colourBlend`,`
|
|
67
|
+
function ${t.FUNCTION_NAME_PLACEHOLDER_}(c1, c2, ratio) {
|
|
68
|
+
ratio = Math.max(Math.min(Number(ratio), 1), 0);
|
|
69
|
+
var r1 = parseInt(c1.substring(1, 3), 16);
|
|
70
|
+
var g1 = parseInt(c1.substring(3, 5), 16);
|
|
71
|
+
var b1 = parseInt(c1.substring(5, 7), 16);
|
|
72
|
+
var r2 = parseInt(c2.substring(1, 3), 16);
|
|
73
|
+
var g2 = parseInt(c2.substring(3, 5), 16);
|
|
74
|
+
var b2 = parseInt(c2.substring(5, 7), 16);
|
|
75
|
+
var r = Math.round(r1 * (1 - ratio) + r2 * ratio);
|
|
76
|
+
var g = Math.round(g1 * (1 - ratio) + g2 * ratio);
|
|
77
|
+
var b = Math.round(b1 * (1 - ratio) + b2 * ratio);
|
|
78
|
+
r = ('0' + (r || 0).toString(16)).slice(-2);
|
|
79
|
+
g = ('0' + (g || 0).toString(16)).slice(-2);
|
|
80
|
+
b = ('0' + (b || 0).toString(16)).slice(-2);
|
|
81
|
+
return '#' + r + g + b;
|
|
82
|
+
}
|
|
83
|
+
`)}(${n}, ${r}, ${i})`,2]}window.Blockly.common.createBlockDefinitionsFromJsonArray([Yf])[K];function Zf(){window.Blockly.FieldMultilineInput||(window.Blockly.fieldRegistry.register(`field_multilinetext`,z),window.Blockly.JavaScript.forBlock.text_multiline=Hf,window.Blockly.FieldMultilineInput=z,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:`text_multiline`,message0:`%1 %2`,args0:[{type:`field_image`,src:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAARCAYAAADpPU2iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAdhgAAHYYBXaITgQAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS42/U4J6AAAAP1JREFUOE+Vks0KQUEYhjmRIja4ABtZ2dm5A3t3Ia6AUm7CylYuQRaUhZSlLZJiQbFAyRnPN33y01HOW08z8873zpwzM4F3GWOCruvGIE4/rLaV+Nq1hVGMBqzhqlxgCys4wJA65xnogMHsQ5lujnYHTejBBCK2mE4abjCgMGhNxHgDFWjDSG07kdfVa2pZMf4ZyMAdWmpZMfYOsLiDMYMjlMB+K613QISRhTnITnsYg5yUd0DETmEoMlkFOeIT/A58iyK5E18BuTBfgYXfwNJv4P9/oEBerLylOnRhygmGdPpTTBZAPkde61lbQe4moWUvYUZYLfUNftIY4zwA5X2Z9AYnQrEAAAAASUVORK5CYII=`,width:12,height:17,alt:`¶`},{type:`field_multilinetext`,name:`TEXT`,text:``}],output:`String`,style:`text_blocks`,helpUrl:`%{BKY_TEXT_TEXT_HELPURL}`,tooltip:`%{BKY_TEXT_TEXT_TOOLTIP}`,extensions:[`parent_tooltip_when_inline`]}]))),window.Blockly.FieldColour||(window.Blockly.fieldRegistry.register(`field_colour`,H),window.Blockly.JavaScript.forBlock.colour_picker=Wf,window.Blockly.JavaScript.forBlock.colour_blend=Xf,window.Blockly.JavaScript.forBlock.colour_random=Kf,window.Blockly.JavaScript.forBlock.colour_rgb=Jf,window.Blockly.FieldColour=H,Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:`colour_picker`,message0:`%1`,args0:[{type:`field_colour`,name:`COLOUR`,colour:`#ff0000`}],output:`Colour`,helpUrl:`%{BKY_COLOUR_PICKER_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_PICKER_TOOLTIP}`,extensions:[`parent_tooltip_when_inline`]}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:`colour_random`,message0:`%{BKY_COLOUR_RANDOM_TITLE}`,output:`Colour`,helpUrl:`%{BKY_COLOUR_RANDOM_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_RANDOM_TOOLTIP}`}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:`colour_rgb`,message0:`%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3`,args0:[{type:`input_value`,name:`RED`,check:`Number`,align:`RIGHT`},{type:`input_value`,name:`GREEN`,check:`Number`,align:`RIGHT`},{type:`input_value`,name:`BLUE`,check:`Number`,align:`RIGHT`}],output:`Colour`,helpUrl:`%{BKY_COLOUR_RGB_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_RGB_TOOLTIP}`}])),Object.assign(window.Blockly.Blocks,window.Blockly.common.createBlockDefinitionsFromJsonArray([{type:`colour_blend`,message0:`%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3`,args0:[{type:`input_value`,name:`COLOUR1`,check:`Colour`,align:`RIGHT`},{type:`input_value`,name:`COLOUR2`,check:`Colour`,align:`RIGHT`},{type:`input_value`,name:`RATIO`,check:`Number`,align:`RIGHT`}],output:`Colour`,helpUrl:`%{BKY_COLOUR_BLEND_HELPURL}`,style:`colour_blocks`,tooltip:`%{BKY_COLOUR_BLEND_TOOLTIP}`}]))),q()}function q(){let e=window.Blockly.JavaScript;e.forBlock&&Object.keys(e).forEach(t=>{typeof e[t]==`function`&&(e.forBlock[t]||(console.log(`Migrating Blockly.JavaScript.${t} to Blockly.JavaScript.forBlock.${t}`),e.forBlock[t]=e[t],delete e[t]))})}var Qf=t({default:()=>$}),J=!1,Y=!1,X=null,Z=[];function Q(e,t,n,r){if(r||=[],(e.tagName===`BLOCK`||e.tagName===`block`)&&(n=e.id),e.tagName===`FIELD`||e.tagName===`field`)for(let a=0;a<e.attributes.length;a++){let o=(e.attributes[a].value||``).toLowerCase();if(e.attributes[a].nodeName===`name`&&(o===`oid`||o===`text`||o===`var`)){var i;n&&(i=e.innerHTML)!=null&&i.toLowerCase().includes(t)&&r.push(n)}}return e.childNodes.forEach(e=>Q(e,t,n,r)),r}var $=class e extends _.Component{constructor(t){super(t),s(this,`blockly`,null),s(this,`blocklyWorkspace`,null),s(this,`originalCode`,void 0),s(this,`someSelected`,null),s(this,`changeTimer`,null),s(this,`someSelectedTime`,0),s(this,`ignoreChanges`,!1),s(this,`blinkBlock`,void 0),s(this,`onResizeBind`,void 0),s(this,`resizeObserver`,null),s(this,`didUpdate`,null),s(this,`lastCommand`,``),s(this,`lastSearch`,void 0),s(this,`onShowNameDialog`,(e,t,n)=>{this.setState({showInputPrompt:{promptText:e,defaultText:t,callback:n,value:t}})}),this.state={languageOwnLoaded:Y,languageBlocklyLoaded:J,changed:!1,message:``,error:``,themeType:this.props.themeType,exportText:``,importText:!1,searchText:this.props.searchText||``,showInputPrompt:null},this.originalCode=t.code||``,this.someSelected=null,this.onResizeBind=this.onResize.bind(this),this.lastSearch=this.props.searchText||``,this.blinkBlock=null,Zf(),e.Blockly.dialog.setPrompt(this.onShowNameDialog),this.loadLanguages()}static loadJS(e,t,n){let r=document.createElement(`script`);try{r.src=e,r.onload=t,r.onerror=t,(n||window.document.body).appendChild(r)}catch(n){console.error(`Cannot load ${e}: ${n}`),t&&t()}}static loadScripts(t,n){if(!(t!=null&&t.length)){q(),n&&n();return}let r=t.pop();r&&!Z.includes(r)?(Z.push(r),e.loadJS(`../../adapter/${r}/blockly.js`,()=>setTimeout(()=>e.loadScripts(t,n),0))):setTimeout(()=>e.loadScripts(t,n),0)}static loadCustomBlockly(t,n){let r=[];for(let e in t){var i;!Object.prototype.hasOwnProperty.call(t,e)||!t[e]||!e.match(/^system\.adapter\./)||t[e].type!==`adapter`||(i=t[e].common)!=null&&i.blockly&&(console.log(`Detected custom blockly: ${t[e].common.name}`),r.push(t[e].common.name))}Bf().then(()=>e.loadScripts(r,n))}static loadXMLDoc(e){let t;return t=window.DOMParser?e=>new window.DOMParser().parseFromString(e,`text/xml`):window.ActiveXObject!==void 0&&new window.ActiveXObject(`Microsoft.XMLDOM`)?e=>{let t=new window.ActiveXObject(`Microsoft.XMLDOM`);return t.async=`false`,t.loadXML(e),t}:()=>null,t(e)}searchBlocks(t){if(this.blocklyWorkspace){let n=Q(e.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),t.toLowerCase());return console.log(`Search "${t}" found blocks: ${n.length?JSON.stringify(n):`none`}`),n}return[]}searchId(){let e=this.lastSearch?this.searchBlocks(this.lastSearch):null;e!=null&&e.length?(this.someSelected=e,this.someSelected.forEach(e=>{var t;return(t=this.blocklyWorkspace)==null?void 0:t.highlightBlock(e,!0)}),this.someSelectedTime=Date.now()):this.someSelected&&=(this.someSelected.forEach(e=>{var t;return(t=this.blocklyWorkspace)==null?void 0:t.highlightBlock(e,!1)}),null)}UNSAFE_componentWillReceiveProps(t){t.command&&this.lastCommand!==t.command&&(this.lastCommand=t.command,setTimeout(()=>this.lastCommand=``,300),this.lastCommand===`check`?this.blocklyCheckBlocks((t,n)=>{t?(n&&e.blocklyBlinkBlock(n),this.setState({error:{text:f.t(t),title:f.t(`Error was found`)}}),this.blinkBlock=n):this.setState({message:f.t(`Ok`)})}):this.lastCommand===`export`?this.exportBlocks():this.lastCommand===`import`&&this.importBlocks()),t.searchText!==this.lastSearch&&(this.lastSearch=t.searchText,this.searchId()),this.state.themeType!==t.themeType&&this.setState({themeType:t.themeType},()=>this.updateBackground()),this.originalCode!==t.code&&(this.originalCode=t.code||``,this.loadCode(),this.searchId())}static async applyBlocklyMessages(e){try{let t=await fetch(e);if(!t.ok)return;let n=await t.text();Function(`define`,`exports`,`module`,n).call(window,void 0,void 0,void 0)}catch(t){console.error(`Cannot apply ${e}: ${t}`)}}loadLanguages(){if(J||e.applyBlocklyMessages(`google-blockly/msg/js/${f.getLanguage()}.js`).then(()=>{J=!0,this.setState({languageBlocklyLoaded:J})}),!Y){let e=window.document.createElement(`script`);e.setAttribute(`type`,`text/javascript`),e.setAttribute(`src`,`google-blockly/own/msg/${f.getLanguage()}.js`),e.onload=()=>{Y=!0,this.setState({languageOwnLoaded:Y})},window.document.getElementsByTagName(`head`)[0].appendChild(e)}}onResize(){this.blocklyWorkspace&&e.Blockly.svgResize(this.blocklyWorkspace)}static jsCode2Blockly(e){e||=``;let t=e.split(/[\r\n]+|\r|\n/g),n=``;for(let e=t.length-1;e>=0;e--)if(t[e].substring(0,2)===`//`){n=t[e].substring(2);break}if(n.substring(0,4)===`<xml`)return n;let r;try{r=window.decodeURIComponent(window.atob(n))}catch(e){r=null,console.error(`cannot decode: ${n}`),console.error(e)}return r}static blocklyBlinkBlock(e){for(let t=300;t<3e3;t+=300)setTimeout(()=>e.select(),t),setTimeout(()=>e.unselect(),t+150)}blocklyRemoveOrphanedShadows(){if(this.blocklyWorkspace){let e=this.blocklyWorkspace.getAllBlocks(),t;for(let n=0;t=e[n];n++)if(t.isShadow()){let e=t.getConnections_(!0),n;for(let r=0;n=e[r];r++)if(!n.targetConnection){t.dispose();break}}}}blocklyCheckBlocks(t){let n;if(!this.blocklyWorkspace||this.blocklyWorkspace.getAllBlocks().length===0)return t&&t(`no blocks found`),!1;let r=this.blocklyGetUnconnectedBlock();return r?n=`not properly connected`:(r=this.blocklyGetBlockWithWarning(),r&&(n=`warning on this block`)),r?(t?t(n,r):e.blocklyBlinkBlock(r),!1):(t(),!0)}blocklyGetUnconnectedBlock(){var t;let n=(t=this.blocklyWorkspace)==null?void 0:t.getAllBlocks(),r;if(n)for(let t=0;r=n[t];t++){let t=r.getConnections_(!0),n;for(let i=0;n=t[i];i++)if(!n.sourceBlock_||(n.type===e.Blockly.INPUT_VALUE||n.type===e.Blockly.OUTPUT_VALUE)&&!n.targetConnection&&!n._optional)return r}return null}blocklyGetBlockWithWarning(){var e;let t=(e=this.blocklyWorkspace)==null?void 0:e.getAllBlocks(),n;if(t){for(let e=0;n=t[e];e++)if(n.warning)return n}return null}appendBlocksFromXml(e){this.onImportBlocks(e)}applyAiBlocks(t){if(this.blocklyWorkspace&&(t=(t||``).trim(),t))try{t.startsWith(`<xml`)||(t=`<xml xmlns="https://developers.google.com/blockly/xml">${t}</xml>`),t=t.replace(/[\n\r]/g,``).replace(/<variables>.*<\/variables>/g,``);let n=e.Blockly.utils.xml.textToDom(t),r=Array.from(n.querySelectorAll(`:scope > block`));if(r.length===0)return;let i=e=>{let t=e.getAttribute(`type`)||``,n=[];for(let t of Array.from(e.children))t.tagName===`field`&&n.push(`${t.getAttribute(`name`)}=${t.textContent}`),t.tagName===`mutation`&&n.push(`mut:${t.outerHTML}`);return`${t}|${n.join(`,`)}`},a=e=>{let t=e.type||``,n=[];for(let t of e.inputList||[])for(let e of t.fieldRow||[])e.name&&e.getValue&&n.push(`${e.name}=${e.getValue()}`);if(e.mutationToDom)try{let t=e.mutationToDom();t&&n.push(`mut:${t.outerHTML}`)}catch{}return`${t}|${n.join(`,`)}`},o=r.map(e=>i(e)),s=this.blocklyWorkspace.getTopBlocks(!1),c=s.map(e=>a(e)),l=Array(s.length).fill(!1),u=[];for(let e=0;e<o.length;e++){let t=!1;for(let n=0;n<c.length;n++)if(!l[n]&&o[e]===c[n]){l[n]=!0;let e=s[n].getRelativeToSurfaceXY();u.push({x:e.x,y:e.y}),t=!0;break}if(!t){let n=r[e].getAttribute(`type`)||``;for(let e=0;e<s.length;e++)if(!l[e]&&s[e].type===n){l[e]=!0;let n=s[e].getRelativeToSurfaceXY();u.push({x:n.x,y:n.y}),t=!0;break}}t||u.push(null)}let d=window.Blockly,f=d.utils.idGenerator.genUid();d.Events.setGroup(f),window.scripts.loading=!0;for(let e=0;e<s.length;e++)l[e]&&s[e].dispose(!1);if(r.length>1){let e=new Set;for(let t of r)e.add(`${t.getAttribute(`x`)||`0`},${t.getAttribute(`y`)||`0`}`);if(e.size===1){let e=10;for(let t of r)t.setAttribute(`x`,`10`),t.setAttribute(`y`,String(e)),e+=200}}e.Blockly.Xml.appendDomToWorkspace(n,this.blocklyWorkspace);let p=this.blocklyWorkspace.getTopBlocks(!1),m=p.slice(-r.length),h=10;for(let e of p.slice(0,-r.length)){let t=e.getRelativeToSurfaceXY(),n=e.getHeightWidth();h=Math.max(h,t.y+n.height+30)}for(let e=0;e<m.length;e++){let t=u[e];if(t){let n=m[e].getRelativeToSurfaceXY();m[e].moveBy(t.x-n.x,t.y-n.y)}else{let t=m[e].getRelativeToSurfaceXY();m[e].moveBy(10-t.x,h-t.y),h+=m[e].getHeightWidth().height+20}}window.scripts.loading=!1,d.Events.setGroup(!1),this.onBlocklyChanged()}catch(e){var n;window.scripts.loading=!1,(n=window.Blockly)==null||(n=n.Events)==null||n.setGroup(!1),console.error(`Error applying AI blocks:`,e)}}getWorkspaceXml(){if(!this.blocklyWorkspace)return``;let t=e.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);return e.Blockly.Xml.domToPrettyText(t)}blocklyCode2JSCode(t){if(!this.blocklyWorkspace)return``;let n=e.Blockly.JavaScript.workspaceToCode(this.blocklyWorkspace);if(!t){n+=`
|
|
84
|
+
`;let t=e.Blockly.Xml.workspaceToDom(this.blocklyWorkspace),r=e.Blockly.Xml.domToText(t);n+=`//${btoa(encodeURIComponent(r))}`}return n}exportBlocks(){if(!this.blocklyWorkspace)return;let t,n=e.Blockly.getSelected();if(n){let r=e.Blockly.Xml.blockToDom(n),i=n.getRelativeToSurfaceXY();r.setAttribute(`x`,(n.RTL?-i.x:i.x).toString()),r.setAttribute(`y`,i.y.toString()),t=e.Blockly.Xml.domToPrettyText(r)}else{let n=e.Blockly.Xml.workspaceToDom(this.blocklyWorkspace);t=e.Blockly.Xml.domToPrettyText(n)}this.setState({exportText:t})}importBlocks(){this.setState({importText:!0})}onImportBlocks(t){if(this.blocklyWorkspace&&(t=(t||``).trim(),t))try{t.startsWith(`<xml`)||(t=`<xml xmlns="https://developers.google.com/blockly/xml">${t}</xml>`),t=t.replace(/[\n\r]/g,``).replace(/<variables>.*<\/variables>/g,``),window.scripts.loading=!0;let n=e.Blockly.utils.xml.textToDom(t),r=Array.from(n.querySelectorAll(`:scope > block`));if(r.length>1){let e=new Set;for(let t of r)e.add(`${t.getAttribute(`x`)||`0`},${t.getAttribute(`y`)||`0`}`);if(e.size===1){let e=parseInt(r[0].getAttribute(`y`)||`0`,10);for(let t of r)t.setAttribute(`y`,String(e)),e+=200}}if(e.Blockly.Xml.appendDomToWorkspace(n,this.blocklyWorkspace),r.length>1){let e=this.blocklyWorkspace.getTopBlocks(!1).slice(-r.length);if(e.length>1){let t=e[0].getRelativeToSurfaceXY().y;for(let n of e){let e=n.getRelativeToSurfaceXY();n.moveBy(0,t-e.y),t+=n.getHeightWidth().height+20}}}window.scripts.loading=!1,this.onBlocklyChanged()}catch(e){this.setState({error:{text:e.toString(),title:f.t(`Import error`)}})}}loadCode(){if(this.blocklyWorkspace){this.ignoreChanges=!0,this.blocklyWorkspace.clear();try{let t=e.jsCode2Blockly(this.originalCode)||`<xml xmlns="https://developers.google.com/blockly/xml"></xml>`;window.scripts.loading=!0;let n=e.Blockly.utils.xml.textToDom(t);e.Blockly.Xml.domToWorkspace(n,this.blocklyWorkspace),window.scripts.loading=!1}catch(e){console.error(e),setTimeout(()=>this.setState({error:f.t(`Cannot extract Blockly code!`)}))}setTimeout(()=>this.ignoreChanges=!1,100)}}onBlocklyChanged(){this.blocklyRemoveOrphanedShadows(),this.setState({changed:!0}),this.onChange()}async componentDidUpdate(){var t;if(!this.blockly||(this.didUpdate&&=(clearTimeout(this.didUpdate),null),this.blocklyWorkspace))return;window.addEventListener(`resize`,this.onResizeBind,!1),!this.resizeObserver&&this.blockly&&(this.resizeObserver=new ResizeObserver(()=>this.onResize()),this.resizeObserver.observe(this.blockly)),X||=await this.getToolbox();let n=e.Blockly.utils.xml.textToDom(X);if(this.blocklyWorkspace=e.Blockly.inject(this.blockly,{renderer:`thrasos`,theme:this.state.themeType===`dark`?E():`classic`,media:`google-blockly/media/`,toolbox:n,zoom:{controls:!0,wheel:!1,startScale:1,maxScale:3,minScale:.3,scaleSpeed:1.2,pinch:!0},move:{scrollbars:{horizontal:!0,vertical:!0},drag:!0,wheel:!0},trashcan:!0,grid:{spacing:25,length:1,snap:!0},sounds:!1}),window.scripts={blocklyWorkspace:this.blocklyWorkspace},this.blocklyWorkspace.registerToolboxCategoryCallback(`PROCEDURE`,window.Blockly.Procedures.flyoutCategoryNew),this.blocklyWorkspace.addChangeListener(t=>{if(this.someSelected&&Date.now()-this.someSelectedTime>500){var n;let e=(n=this.blocklyWorkspace)==null?void 0:n.getAllBlocks();this.someSelected=null,e==null||e.forEach(e=>e.removeSelect())}[e.Blockly.Events.UI,e.Blockly.Events.CREATE,e.Blockly.Events.VIEWPORT_CHANGE].includes(t.type)||this.ignoreChanges||(this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=setTimeout(()=>{this.changeTimer=null,this.onBlocklyChanged()},200))}),this.loadCode(),this.onResize(),(t=window.Blockly)!=null&&(t=t.FieldOID)!=null&&t.DISPLAY_MODE_KEYS){let t=this.blocklyWorkspace,n=t.configureContextMenu;t.configureContextMenu=(r,i)=>{n&&n.call(t,r,i);let a=window.Blockly.FieldOID,o=a.DISPLAY_MODE_KEYS;for(let n=0;n<o.length;n++){var s,c;let i=((s=e.Blockly.Words)==null||(s=s[o[n]])==null?void 0:s[f.getLanguage()])||((c=e.Blockly.Words)==null||(c=c[o[n]])==null?void 0:c.en)||o[n];r.push({text:`${a.displayMode===n?`✓ `:` `}${i}`,enabled:!0,callback:()=>a.setDisplayMode(n,t),scope:{workspace:t},weight:200+n})}}}this.updateBackground(),setTimeout(()=>this.searchId(),200)}updateBackground(){if(this.state.themeType===`dark`){var t;(t=this.blocklyWorkspace)==null||t.setTheme(E())}else this.blocklyWorkspace&&(this.blocklyWorkspace.getThemeManager(),this.blocklyWorkspace.setTheme(e.Blockly.Themes.Classic))}componentWillUnmount(){this.appendBlocksFromXml,this.applyAiBlocks,this.getWorkspaceXml,this.blocklyWorkspace&&(this.blocklyWorkspace.dispose(),this.blocklyWorkspace=null,this.changeTimer&&clearTimeout(this.changeTimer),this.changeTimer=null,window.removeEventListener(`resize`,this.onResizeBind),this.resizeObserver&&=(this.resizeObserver.disconnect(),null))}onChange(){this.originalCode=this.blocklyCode2JSCode(),this.props.onChange&&this.props.onChange(this.originalCode)}async getToolbox(e){let t=window.document.getElementById(`toolbox`),n=t==null?void 0:t.outerHTML;if(!n)return e?(console.error(`Cannot load blocks!`),``):new Promise(e=>{setTimeout(()=>e(this.getToolbox(!0)),500)});if(n=n.replace(/{(\w+)}/g,(e,t)=>window.MSG[t]),window.Blockly.CustomBlocks){let e=``,t=f.getLanguage();for(let n=0;n<window.Blockly.CustomBlocks.length;n++){let r=window.Blockly.CustomBlocks[n],i=window.Blockly[r];e+=`<category name="${window.Blockly.Words[r][t]}" colour="${i.HUE}">`;for(let t in i.blocks)Object.prototype.hasOwnProperty.call(i.blocks,t)&&(e+=i.blocks[t]);e+=`</category>`}n=n.replace(`<category><block>%%CUSTOM_BLOCKS%%</block></category>`,e)}return n}renderMessageDialog(){return this.state.message?m(p,{text:typeof this.state.message==`object`?this.state.message.text:this.state.message,title:typeof this.state.message==`object`?this.state.message.title:``,onClose:()=>this.setState({message:``})},`dialogMessage`):null}renderErrorDialog(){return this.state.error?m(x,{text:typeof this.state.error==`object`?this.state.error.text.toString():this.state.error,title:typeof this.state.error==`object`?this.state.error.title:``,onClose:()=>{this.blinkBlock&&=(e.blocklyBlinkBlock(this.blinkBlock),null),this.setState({error:``})}},`dialogError`):null}renderExportDialog(){return this.state.exportText?m(y,{themeType:this.state.themeType,onClose:()=>this.setState({exportText:``}),text:this.state.exportText,scriptId:this.props.scriptId},`dialogExport`):null}renderImportDialog(){return this.state.importText?m(b,{themeType:this.props.themeType,onClose:e=>{this.setState({importText:!1}),this.onImportBlocks(e)}},`dialogImport`):null}renderDialogPrompt(){return this.state.showInputPrompt?l(i,{onClose:()=>{var e;let t=(e=this.state.showInputPrompt)==null?void 0:e.callback;t&&t(null),this.setState({showInputPrompt:null})},maxWidth:`sm`,fullWidth:!0,open:!0,children:[m(h,{children:this.state.showInputPrompt.promptText}),m(g,{children:m(c,{variant:`standard`,fullWidth:!0,autoFocus:!0,value:this.state.showInputPrompt.value,onKeyUp:e=>{if(e.key===`Enter`){var t,n;let e=(t=this.state.showInputPrompt)==null?void 0:t.callback,r=(n=this.state.showInputPrompt)==null?void 0:n.value;e&&e(r===void 0?null:r),this.setState({showInputPrompt:null})}},onChange:e=>{var t;let n={...this.state.showInputPrompt};if((t=this.state.showInputPrompt)!=null&&t.callback){var r;n.callback=(r=this.state.showInputPrompt)==null?void 0:r.callback}n.value=e.target.value,this.setState({showInputPrompt:n})}})}),l(d,{children:[m(o,{variant:`contained`,disabled:!this.state.showInputPrompt.value,onClick:()=>{var e,t;let n=(e=this.state.showInputPrompt)==null?void 0:e.callback,r=(t=this.state.showInputPrompt)==null?void 0:t.value;n&&n(r===void 0?null:r),this.setState({showInputPrompt:null})},color:`primary`,startIcon:m(v,{}),children:f.t(`Apply`)}),m(o,{color:`grey`,variant:`contained`,onClick:()=>{var e;let t=(e=this.state.showInputPrompt)==null?void 0:e.callback;t&&t(null),this.setState({showInputPrompt:null})},startIcon:m(u,{}),children:f.t(`Close`)})]})]},`inputDialog`):null}render(){return this.state.languageBlocklyLoaded&&this.state.languageOwnLoaded?(this.didUpdate=setTimeout(()=>{this.didUpdate=null,this.componentDidUpdate()},100),[m(`div`,{ref:e=>{this.blockly=e},style:{width:`100%`,height:`100%`,position:`relative`}},`blocklyDOM`),this.renderDialogPrompt(),this.renderMessageDialog(),this.renderErrorDialog(),this.renderExportDialog(),this.renderImportDialog()]):null}};s($,`Blockly`,window.Blockly);export{Qf as n,$ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@keyframes _fadeIn_n9i6h_1{0%{opacity:0}1%{opacity:0}to{opacity:1}}._nameCard_n9i6h_15{color:var(--colorBlock);margin-top:0;font-size:15px;font-weight:600;line-height:1.35}._nameCardSummary_n9i6h_24{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}._headerRow_n9i6h_32{align-items:center;gap:6px;min-width:0;display:flex}._headerRowClickable_n9i6h_39{cursor:pointer}._headerText_n9i6h_43{flex:1;min-width:0}._kicker_n9i6h_49{letter-spacing:.06em;text-transform:uppercase;color:var(--colorBlockHover);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.4;overflow:hidden}._summarySub_n9i6h_61{color:var(--colorBlockHover);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.4;overflow:hidden}._chevron_n9i6h_70{text-align:center;width:12px;color:var(--colorBlockHover);flex:none;font-size:13px;line-height:1;transition:transform .2s}._chevronCollapsed_n9i6h_82{transform:rotate(-90deg)}._chevronPlaceholder_n9i6h_87{visibility:hidden}._iconThemCard_n9i6h_91{flex:none;margin-left:2px;transition:width .15s,height .15s;width:32px!important;height:32px!important}._iconThemCard_n9i6h_91 *{color:var(--colorBlock)!important}._iconThemCardCollapsed_n9i6h_102{width:22px!important;height:22px!important}._iconThemCardSelectable_n9i6h_107{cursor:pointer}._iconHelp_n9i6h_111{flex:none;color:var(--colorBlock)!important;padding:2px!important}._blockName_n9i6h_117{flex-direction:column;width:100%;min-width:0;margin-left:10px;display:flex;position:relative}._debugInfo_n9i6h_123{color:var(--debugColor);opacity:0;font-size:12px;font-style:italic;animation:.3s ease-out _fadeIn_n9i6h_1;display:flex;position:absolute}._tagCard_n9i6h_139{text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:45%;color:var(--lineColorActive);background:var(--backgroundColorHumburger);border:1px solid var(--lineColor);cursor:pointer;border-radius:999px;flex:none;padding:1px 9px;font-size:11px;line-height:16px;overflow:hidden}._displayFlex_n9i6h_156{align-items:center;display:flex}._blockMarginTop_n9i6h_161,._nameBlock_n9i6h_162{margin-top:7px}._frontText_n9i6h_166{min-width:80px;margin-right:7px;display:inline-table}._backText_n9i6h_172{margin-left:7px}._iconTag_n9i6h_176{color:var(--colorBlock);flex:none;align-items:center;min-width:30px;margin-left:4px;font-size:30px;display:flex}._displayItalic_n9i6h_186{margin-top:0;font-size:11px;font-style:italic}._root_1dr6a_1{color:var(--colorBlock)!important;border-color:var(--colorBlock)!important}._root_1dr6a_1:hover{border-color:var(--colorBlockHover)!important;color:var(--colorBlockHover)!important;background-color:inherit!important}._square_1dr6a_11{min-width:auto!important;padding:6px 16px!important}._icon_1dr6a_16{width:24px;height:24px}._root_1ucda_1 *{color:var(--colorBlock)!important}._root_19roy_1{background:var(--backgroundColorHumburger);border-radius:5px;margin-top:0!important;margin-bottom:0!important}._root_19roy_1 *{color:var(--colorInput)!important}._root_19roy_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_19roy_1 [class*=MuiInput-underline] :after{border-bottom-color:var(--lineColor)!important}._root_19roy_1:hover [class*=MuiOutlinedInput-notchedOutline],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline]:hover,._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline] [class*=Mui-focused],._root_19roy_1 [class*=MuiOutlinedInput-notchedOutline] [class*=Mui-disabled]{border-color:var(--lineColor)!important}._modalContentWrapper_587ci_1{min-width:320px;margin:20px 0;padding:0 35px;overflow-x:hidden}._modalButtonBlock_587ci_8{border-top:1px solid var(--lineColorActive);border-color:var(--lineColorActive);background:var(--backgroundColorHumburger);border-radius:3px;flex-flow:wrap;justify-content:flex-end;margin-top:20px;display:flex}._modalButtonBlock_587ci_8 button{flex:1;color:var(--lineColorActive)!important}._modalButtonBlockTwo_587ci_23{flex-flow:wrap-reverse;justify-content:space-around;position:sticky;bottom:0}._modalButtonBlockTwo_587ci_23 button{margin:5px}._modalWrapper_587ci_33 [class*="MuiPaper-root MuiDialog-paper MuiPaper-elevation24 MuiDialog-paperScrollPaper MuiDialog-paperWidthXl MuiPaper-elevation24 MuiPaper-rounded"]{background-color:#f6f6f6}._modalDialog_587ci_40{min-width:400px}._close_587ci_44{opacity:.9;cursor:pointer;width:32px;height:32px;transition:all .6s;position:absolute;top:-16px;right:-14px}._close_587ci_44:hover{transform:rotate(90deg)}._close_587ci_44:before{content:"";background-color:#ff4f4f;width:4px;height:33px;position:absolute;left:15px;transform:rotate(45deg)}._close_587ci_44:after{content:"";background-color:#ff4f4f;width:4px;height:33px;position:absolute;left:15px;transform:rotate(-45deg)}@media screen and (max-width:460px){._modalContentWrapper_587ci_1{min-width:auto}}._root_15mo1_1{max-width:440px;margin-top:0!important;margin-bottom:0!important}._root_15mo1_1 *,._root_15mo1_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_15mo1_1 [class*=MuiInput-underline]:after,._root_15mo1_1 [class*=MuiInput-underline]:before,._root_15mo1_1 [class*=MuiInput-underline]:hover:before{border-bottom-color:var(--lineColor)!important}._root_167v0_1{color:var(--lineColorActive)!important;height:8px!important}._root_167v0_1 [class*=MuiSlider-rail],._root_167v0_1 [class*=MuiSlider-track]{border-radius:4px;height:8px!important}._root_167v0_1 [class*=MuiSlider-thumb]{background-color:currentColor;width:20px;height:20px}._root_167v0_1 [class*=MuiSlider-thumb]:focus,._root_167v0_1 [class*=MuiSlider-thumb]:hover,._root_167v0_1 [class*=MuiSlider-thumb][class*=Mui-active]{box-shadow:inherit!important}._root_167v0_1 [class*=MuiSlider-markLabel]{color:var(--colorBlock)}._root_167v0_1 ._mark_167v0_24{background-color:#0000!important}._root_rzul6_1 *{color:var(--colorBlock)!important}._root_rzul6_1 [class*=Mui-checked]{color:var(--lineColor)!important}._root_rzul6_1 [class*=Mui-checked]+[class*=MuiSwitch-track]{background-color:var(--lineColor)!important}._root_135pm_1 *,._root_135pm_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_135pm_1 [class*=MuiInput-underline]:after,._root_135pm_1 [class*=MuiInput-underline]:before,._root_135pm_1 [class*=MuiInput-underline]:hover:before{border-bottom-color:var(--lineColor)!important}._root_135pm_1{margin-top:0!important;margin-bottom:0!important}._root_135pm_1 *,._root_135pm_1 [class*=MuiInputLabel-shrink]{color:var(--colorBlock)!important}._root_135pm_1 [class*=MuiInput-underline]:after,._root_135pm_1 [class*=MuiInput-underline]:before,._root_135pm_1 [class*=MuiInput-underline]:hover:before{border-bottom-color:var(--lineColor)!important}
|